⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 panel1.java

📁 基于web的数学公式编辑器
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
				EntityReference er = document.createEntityReference("int");
				mo.appendChild(er);
				mrow.appendChild(mo);
				Element mrow2 = (Element) document.createElement("mrow");
				Element mrow3 = (Element) document.createElement("mrow");
				parentnode = insertnode;
				parentnode.appendChild(mintsubsup);
				mintsubsup.appendChild(mrow);
				mintsubsup.appendChild(mrow2);
				mintsubsup.appendChild(mrow3);
				insertnode = mrow2;
			}
			else
			{
				Node parentnode, nextnode;
				Element msubsup = (Element) document.createElement("msubsup");
				Element mrow = (Element) document.createElement("mrow");
				Element mo = (Element) document.createElement("mo");
				EntityReference er = document.createEntityReference("int");
				mo.appendChild(er);
				mrow.appendChild(mo);
				Element mrow2 = (Element) document.createElement("mrow");
				Element mrow3 = (Element) document.createElement("mrow");
				parentnode = document.createElement("cc");
				parentnode = insertnode.getParentNode();
				parentnode.appendChild(msubsup);
				msubsup.appendChild(mrow);
				msubsup.appendChild(mrow2);
				msubsup.appendChild(mrow3);
				if (isbefor == 0)
				{
					nextnode = insertnode.getNextSibling();
				}
				else
				{
					nextnode = insertnode;
				}
				if (nextnode != msubsup)
				{
					parentnode.insertBefore(msubsup, nextnode);
				}
				insertnode = mrow2;
			}
		}
		else if (n == 7)
		{ // 求和
			if (insertnode.getNodeName() == "mrow" || insertnode.getNodeName() == "mtd")
			{
				Node parentnode, nextnode;
				Element msubsup = (Element) document.createElement("munderover");
				Element mrow = (Element) document.createElement("mrow");
				Element mo = (Element) document.createElement("mo");
				EntityReference er = document.createEntityReference("sum");
				mo.appendChild(er);
				mrow.appendChild(mo);
				Element mrow2 = (Element) document.createElement("mrow");
				Element mrow3 = (Element) document.createElement("mrow");
				parentnode = insertnode;
				parentnode.appendChild(msubsup);
				msubsup.appendChild(mrow);
				msubsup.appendChild(mrow2);
				msubsup.appendChild(mrow3);
				insertnode = mrow2;
			}
			else
			{
				Node parentnode, nextnode;
				Element msubsup = (Element) document.createElement("munderover");
				Element mrow = (Element) document.createElement("mrow");
				Element mo = (Element) document.createElement("mo");
				EntityReference er = document.createEntityReference("sum");
				mo.appendChild(er);
				mrow.appendChild(mo);
				Element mrow2 = (Element) document.createElement("mrow");
				Element mrow3 = (Element) document.createElement("mrow");
				parentnode = document.createElement("cc");
				parentnode = insertnode.getParentNode();
				parentnode.appendChild(msubsup);
				msubsup.appendChild(mrow);
				msubsup.appendChild(mrow2);
				msubsup.appendChild(mrow3);
				if (isbefor == 0)
				{
					nextnode = insertnode.getNextSibling();
				}
				else
				{
					nextnode = insertnode;
				}
				if (nextnode != msubsup)
				{
					parentnode.insertBefore(msubsup, nextnode);
				}
				insertnode = mrow2;
			}
		}
		else if (n == 8)
		{ // 求积<mfrac><mrow></mrow><mrow></mrow></mfrac>
			if (insertnode.getNodeName() == "mrow" || insertnode.getNodeName() == "mtd")
			{
				Node parentnode, nextnode;
				Element msubsup = (Element) document.createElement("munderover");
				Element mrow = (Element) document.createElement("mrow");
				Element mo = (Element) document.createElement("mo");
				EntityReference er = document.createEntityReference("prod");
				mo.appendChild(er);
				mrow.appendChild(mo);
				Element mrow2 = (Element) document.createElement("mrow");
				Element mrow3 = (Element) document.createElement("mrow");
				parentnode = insertnode;
				parentnode.appendChild(msubsup);
				msubsup.appendChild(mrow);
				msubsup.appendChild(mrow2);
				msubsup.appendChild(mrow3);
				insertnode = mrow2;
			}
			else
			{
				Node parentnode, nextnode;
				Element msubsup = (Element) document.createElement("munderover");
				Element mrow = (Element) document.createElement("mrow");
				Element mo = (Element) document.createElement("mo");
				EntityReference er = document.createEntityReference("prod");
				mo.appendChild(er);
				mrow.appendChild(mo);
				Element mrow2 = (Element) document.createElement("mrow");
				Element mrow3 = (Element) document.createElement("mrow");
				parentnode = document.createElement("cc");
				parentnode = insertnode.getParentNode();
				parentnode.appendChild(msubsup);
				msubsup.appendChild(mrow);
				msubsup.appendChild(mrow2);
				msubsup.appendChild(mrow3);
				if (isbefor == 0)
				{
					nextnode = insertnode.getNextSibling();
				}
				else
				{
					nextnode = insertnode;
				}
				if (nextnode != msubsup)
				{
					parentnode.insertBefore(msubsup, nextnode);
				}
				insertnode = mrow2;
			}
		}
		else if (n == 9)
		{ // 上限<mover>
			if (insertnode.getNodeName() == "mrow" || insertnode.getNodeName() == "mtd")
			{
				Node parentnode, nextnode;
				Element mfrac = (Element) document.createElement("mover");
				Element mrow = (Element) document.createElement("mrow");
				Element mrow2 = (Element) document.createElement("mrow");
				parentnode = insertnode;
				parentnode.appendChild(mfrac);
				mfrac.appendChild(mrow);
				mfrac.appendChild(mrow2);
				insertnode = mrow;
			}
			else
			{
				Node parentnode, nextnode;
				Element mfrac = (Element) document.createElement("mover");
				Element mrow = (Element) document.createElement("mrow");
				Element mrow2 = (Element) document.createElement("mrow");
				parentnode = document.createElement("cc");
				parentnode = insertnode.getParentNode();
				parentnode.appendChild(mfrac);
				mfrac.appendChild(mrow);
				mfrac.appendChild(mrow2);
				if (isbefor == 0)
				{
					nextnode = insertnode.getNextSibling();
				}
				else
				{
					nextnode = insertnode;
				}
				if (nextnode != mfrac)
				{
					parentnode.insertBefore(mfrac, nextnode);
				}
				insertnode = mrow;
			}
		}
		else if (n == 10)
		{ // 下限<munder>
			if (insertnode.getNodeName() == "mrow" || insertnode.getNodeName() == "mtd")
			{
				Node parentnode, nextnode;
				Element mfrac = (Element) document.createElement("munder");
				Element mrow = (Element) document.createElement("mrow");
				Element mrow2 = (Element) document.createElement("mrow");
				parentnode = insertnode;
				parentnode.appendChild(mfrac);
				mfrac.appendChild(mrow);
				mfrac.appendChild(mrow2);
				insertnode = mrow;
			}
			else
			{
				Node parentnode, nextnode;
				Element mfrac = (Element) document.createElement("munder");
				Element mrow = (Element) document.createElement("mrow");
				Element mrow2 = (Element) document.createElement("mrow");
				parentnode = document.createElement("cc");
				parentnode = insertnode.getParentNode();
				parentnode.appendChild(mfrac);
				mfrac.appendChild(mrow);
				mfrac.appendChild(mrow2);
				if (isbefor == 0)
				{
					nextnode = insertnode.getNextSibling();
				}
				else
				{
					nextnode = insertnode;
				}
				if (nextnode != mfrac)
				{
					parentnode.insertBefore(mfrac, nextnode);
				}
				insertnode = mrow;
			}
		}
		else if (n == 11)
		{ // 上下限<munderover>
			if (insertnode.getNodeName() == "mrow" || insertnode.getNodeName() == "mtd")
			{
				Node parentnode, nextnode;
				Element msubsup = (Element) document.createElement("munderover");
				Element mrow = (Element) document.createElement("mrow");
				Element mrow2 = (Element) document.createElement("mrow");
				Element mrow3 = (Element) document.createElement("mrow");
				parentnode = insertnode;
				parentnode.appendChild(msubsup);
				msubsup.appendChild(mrow);
				msubsup.appendChild(mrow2);
				msubsup.appendChild(mrow3);
				insertnode = mrow;
			}
			else
			{
				Node parentnode, nextnode;
				Element msubsup = (Element) document.createElement("munderover");
				Element mrow = (Element) document.createElement("mrow");
				Element mrow2 = (Element) document.createElement("mrow");
				Element mrow3 = (Element) document.createElement("mrow");
				parentnode = document.createElement("cc");
				parentnode = insertnode.getParentNode();
				parentnode.appendChild(msubsup);
				msubsup.appendChild(mrow);
				msubsup.appendChild(mrow2);
				msubsup.appendChild(mrow3);
				if (isbefor == 0)
				{
					nextnode = insertnode.getNextSibling();
				}
				else
				{
					nextnode = insertnode;
				}
				if (nextnode != msubsup)
				{
					parentnode.insertBefore(msubsup, nextnode);
				}
				insertnode = mrow;
			}
		}
		else if (n == 12)
		{ // 上下标
			if (insertnode.getNodeName() == "mrow" || insertnode.getNodeName() == "mtd")
			{
				Node parentnode, nextnode;
				Element msubsup = (Element) document.createElement("msubsup");
				Element mrow = (Element) document.createElement("mrow");
				Element mrow2 = (Element) document.createElement("mrow");
				Element mrow3 = (Element) document.createElement("mrow");
				parentnode = insertnode;
				parentnode.appendChild(msubsup);
				msubsup.appendChild(mrow);
				msubsup.appendChild(mrow2);
				msubsup.appendChild(mrow3);
				insertnode = mrow;
			}
			else
			{
				Node parentnode, nextnode;
				Element msubsup = (Element) document.createElement("msubsup");
				Element mrow = (Element) document.createElement("mrow");
				Element mrow2 = (Element) document.createElement("mrow");
				Element mrow3 = (Element) document.createElement("mrow");
				parentnode = document.createElement("cc");
				parentnode = insertnode.getParentNode();
				parentnode.appendChild(msubsup);
				msubsup.appendChild(mrow);
				msubsup.appendChild(mrow2);
				msubsup.appendChild(mrow3);
				if (isbefor == 0)
				{
					nextnode = insertnode.getNextSibling();
				}
				else
				{
					nextnode = insertnode;
				}
				if (nextnode != msubsup)
				{
					parentnode.insertBefore(msubsup, nextnode);
				}
				insertnode = mrow;
			}
		}
		else if (n == 13)
		{ // 括号
			keydown('(');
			Node tempnode;
			tempnode = insertnode;
			keydown(')');
			insertnode = tempnode;
			if (insertnode.getNodeName() == "mrow" || insertnode.getNodeName() == "mtd")
			{
				Element mo1, mo2;
				Node parentnode, textnode1, textnode2, mrow;
				// mrow = document.createElement("mrow");
				parentnode = insertnode;
				// parentnode.appendChild(mrow);
				// insertnode = mrow;
			}
			else
			{
				Element mrow;
				Node parentnode, nextnode;
				parentnode = insertnode.getParentNode();
				// mrow = document.createElement("mrow");
				// parentnode.appendChild(mrow);
				if (isbefor == 0)
				{
					nextnode = insertnode.getNextSibling();
				}
				else
				{
					nextnode = insertnode;
				}
				// if (nextnode != mrow) {
				// parentnode.insertBefore(mrow, nextnode);
				// }
				// insertnode = mrow;
			}
		}
		else if (n == 14)
		{ // 矩阵
			matrix.show();
		}
		else if (n == 15)
		{ // 特殊符号
			symbolframe.show();
		}
		if (n != 15 && n != 14)
		{
			requestFocus();
			isbefor = 0;
		}
		n = -1;
		yuantoview();
		setrect();
		repaint();
	}

	private void yuantoview()
	{

		this.root = this.document.getFirstChild();
		copyroot = root;
		setxy(this.root, screenoriginx, screenoriginy);
	}

	private void setxy(Node node, int x, int y)
	{ // 设置node结点树的坐标//其中,X,Y表示基准坐标

		int originx, originy;
		originx = x;
		originy = y;
		if (node.getNodeType() == Node.ELEMENT_NODE)
		{
			((Element) node).setAttribute("x1", "" + originx);
			((Element) node).setAttribute("y1", "" + originy);
			((Element) node).setAttribute("x2", "" + originx);
			((Element) node).setAttribute("y2", "" + originy);
			((Element) node).setAttribute("baseliney", "" + y); // ////////////////////////////
		}
		if (node.hasChildNodes())
		{ // 有子结点
			NodeList nodes;
			int x1, y1;
			String sx, sy;
			int addx, bool;
			if (node.getNodeName() == "msqrt")
			{ // 为平方根结点数设置它的坐标
				setxy(node.getFirstChild(), originx + 10, originy);
			}
			else if (node.getNodeName() == "mfrac")
			{ // 为分数结点数设置它的坐标
				int ax1, ax2, ay1, ay2;
				String sx1, sy1, sx2, sy2;
				Node childnode = node.getFirstChild();
				setxy(childnode, originx + space, originy);
				sy1 = ((Element) childnode).getAttribute("y1");
				sy2 = ((Element) childnode).getAttribute("y2");
				ay1 = Integer.parseInt(sy1);
				ay2 = Integer.parseInt(sy2);
				sx1 = ((Element) childnode).getAttribute("x1");
				ax1 = Integer.parseInt(sx1);
				movenodexy(childnode, 0, (originy - space) - ay2);
				// 为分子设置坐标完毕<——
				childnode = node.getLastChild();
				setxy(childnode, originx + space, originy + space);
				sy1 = ((Element) childnode).getAttribute("y1");
				ay2 = Integer.parseInt(sy1);
				movenodexy(childnode, 0, originy + space - ay2);
			}
			else if (node.getNodeName() == "msup")

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -