📄 panel1.java
字号:
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 + -