editor.java
来自「petrinets小程序」· Java 代码 · 共 976 行 · 第 1/3 页
JAVA
976 行
}
public void setAlreadySaved(boolean value) {
alreadySaved = value;
}
public void setCount(int c) {
StepCount = c;
StatusCount.setText(Integer.toString(StepCount));
Status.repaint();
}
public void runIsHolding() {
runButtonsUnHighlight();
runHolding = true;
}
public int getDelay() {
return runDelay;
}
public void setDelay(int d) {
runDelay = d;
}
public void setDemo(boolean d) {
demo = d;
// if (runStep != null) {
// runStep.setDemo(demo);
// }
}
public boolean getDemo() {
return demo;
}
public void setStatus(String s) {
StatusLine.setText(s);
}
public runPN getRunStep() {
return runStep;
}
void controlRunStep() {
if (runStep != null) {
if (runStep.isAlive()) {
runStep.restoreVisMode();
runStep.stop();
runHolding = false;
runButtonsUnHighlight();
StatusLine.setText("Petri Net stopped.");
}
}
}
void runSeqRan(int i) {
runButtonHighlight(i);
StatusLine.setText("Petri Net is running...");
runStep.start();
}
public void runButtonsUnHighlight() {
PBar.unHighlight(10);
PBar.unHighlight(11);
}
void runButtonHighlight(int i) {
PBar.highlightPermanent(i);
if (i == 10) PBar.unHighlight(11);
else PBar.unHighlight(10);
}
public void paint(Graphics g) {
StatusCount.setText(Integer.toString(StepCount));
}
//
//
//
//
//
public boolean mouseDown(Event event, int x, int y) {
int a;
if (event.target instanceof CPictButton) {
if (event.target == (Component)PBar.m_button[0]) {
if (Vis.setMode(visOfGraph.MODE_DRAG, 0)) {
PBar.enableAll();
PBar.highlight(0);
StatusLine.setText("No draw mode selected.");
}
return true;
}
if (event.target == (Component)PBar.m_button[1]) {
if (Vis.setMode(visOfGraph.NodeMode, 0)) {
PBar.enableAll();
PBar.disable(1);
StatusLine.setText("Draw mode set to Add Node.");
}
return true;
}
if (event.target == (Component)PBar.m_button[2]) {
if (Vis.setMode(visOfGraph.TransitionMode, 0)) {
PBar.enableAll();
PBar.disable(2);
StatusLine.setText("Draw mode set to Add Transition.");
}
return true;
}
if (event.target == (Component)PBar.m_button[3]) {
if (Vis.setMode(visOfGraph.EdgeMode, 0)) {
PBar.enableAll();
PBar.disable(3);
StatusLine.setText("Draw mode set to Add Edge.");
}
return true;
}
if (event.target == (Component)PBar.m_button[4]) {
if (Vis.setMode(visOfGraph.MODE_ITEM, 0)) {
PBar.enableAll();
PBar.disable(4);
StatusLine.setText("Draw mode set to Add Token.");
}
return true;
}
if (event.target == (Component)PBar.m_button[5]) {
if (Vis.setMode(visOfGraph.MODE_EDIT, 0)) {
PBar.enableAll();
PBar.disable(5);
StatusLine.setText("Draw mode set to Edit.");
}
return true;
}
if (event.target == (Component)PBar.m_button[6]) {
if (Vis.setMode(visOfGraph.MODE_DELETE, 0)) {
PBar.enableAll();
PBar.disable(6);
StatusLine.setText("Draw mode set to Delete.");
}
return true;
}
if (event.target == (Component)PBar.m_button[7]) {
controlRunStep();
if (!alreadySaved) {
StatusLine.setText("Insert file name to save PetriNet to...");
Save.show();
OutputFile = Save.getFile();
try {
a = OutputFile.length();
OutputPath = Save.getDirectory() + OutputFile;
Save.setFile(OutputFile);
if (savePN(true)) {
alreadySaved = true;
StatusLine.setText("Petri Net saved.");
} else alreadySaved = false;
}
catch (NullPointerException n) {
StatusLine.setText("No file selected.");
}
} else {
if (savePN(true)) {
alreadySaved = true;
StatusLine.setText("Petri Net saved.");
} else alreadySaved = false;
}
PBar.enable(7);
return true;
}
if (event.target == (Component)PBar.m_button[8]) {
controlRunStep();
if (PNet != null) {
OldPNet = (pn)PNet.clone();
StatusLine.setText("PetriNet memorized.");
}
return true;
}
if (event.target == (Component)PBar.m_button[9]) {
if (OldPNet != null) {
controlRunStep();
PNet = (pn)OldPNet.clone();
Vis.setPN(PNet);
Vis.repaint();
StatusLine.setText("Memorized PetriNet loaded.");
} else StatusLine.setText("Sorry, no PetriNet was memorized.");
return true;
}
if (event.target == (Component)PBar.m_button[10]) {
if (ParMan.getState()) {
if (runStep == null) {
runStep = new runPN(PNet, this, Vis, runPN.PARMAN, false);
runSeqRan(10);
} else {
if (runStep.isAlive()) {
if (runHolding) {
runHolding = false;
runStep.disableSingleStep();
runButtonHighlight(10);
runStep.resume();
} else {
controlRunStep();
}
} else {
runStep = new runPN(PNet, this, Vis, runPN.PARMAN, false);
runSeqRan(10);
}
}
}
if (ParRan.getState()) {
if (runStep == null) {
runStep = new runPN(PNet, this, Vis, runPN.PARRAN, false);
runSeqRan(10);
} else {
if (runStep.isAlive()) {
if (runHolding) {
runHolding = false;
runStep.disableSingleStep();
runButtonHighlight(10);
runStep.resume();
} else {
controlRunStep();
}
} else {
runStep = new runPN(PNet, this, Vis, runPN.PARRAN, false);
runSeqRan(10);
}
}
}
if (SeqMan.getState()) {
if (runStep == null) {
runStep = new runPN(PNet, this, Vis, runPN.SEQMAN, false);
runSeqRan(10);
} else {
if (runStep.isAlive()) {
if (runHolding) {
runHolding = false;
runStep.disableSingleStep();
runButtonHighlight(10);
runStep.resume();
} else {
controlRunStep();
}
} else {
runStep = new runPN(PNet, this, Vis, runPN.SEQMAN, false);
runSeqRan(10);
}
}
}
if (SeqRan.getState()) {
if (runStep == null) {
runStep = new runPN(PNet, this, Vis, runPN.SEQRAN, false);
runSeqRan(10);
} else {
if (runStep.isAlive()) {
if (runHolding) {
runHolding = false;
runStep.disableSingleStep();
runButtonHighlight(10);
runStep.resume();
} else {
controlRunStep();
}
} else {
runStep = new runPN(PNet, this, Vis, runPN.SEQRAN, false);
runSeqRan(10);
}
}
}
return true;
}
if (event.target == (Component)PBar.m_button[11]) {
if (ParMan.getState()) {
if (runStep == null) {
runStep = new runPN(PNet, this, Vis, runPN.PARMAN, true);
runSeqRan(11);
} else {
if (runStep.isAlive()) {
if (runHolding) {
runHolding = false;
runButtonHighlight(11);
runStep.resume();
} else {
controlRunStep();
}
} else {
runStep = new runPN(PNet, this, Vis, runPN.PARMAN, true);
runSeqRan(11);
}
}
}
if (ParRan.getState()) {
if (runStep == null) {
runStep = new runPN(PNet, this, Vis, runPN.PARRAN, true);
runSeqRan(11);
} else {
if (runStep.isAlive()) {
if (runHolding) {
runHolding = false;
runButtonHighlight(11);
runStep.resume();
} else {
controlRunStep();
}
} else {
runStep = new runPN(PNet, this, Vis, runPN.PARRAN, true);
runSeqRan(11);
}
}
}
if (SeqMan.getState()) {
if (runStep == null) {
runStep = new runPN(PNet, this, Vis, runPN.SEQMAN, true);
runSeqRan(11);
} else {
if (runStep.isAlive()) {
if (runHolding) {
runHolding = false;
runButtonHighlight(11);
runStep.resume();
} else {
controlRunStep();
}
} else {
runStep = new runPN(PNet, this, Vis, runPN.SEQMAN, true);
runSeqRan(11);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?