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 + -
显示快捷键?