📄 visofstructure.java
字号:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class visOfStructure extends JPanel{
private Label labelP, labelT, labelF, labelW, labelMo;
private JTextArea areaP, areaT, areaF, areaW, areaMo;
private String stringP = "", stringT = "", stringF = "", stringW = "", stringMo = "";
private JButton update;
// private pn PN2;
// private Editor f;
public visOfStructure(){
// PN2 = new pn(run.PNet);
this.setLayout(new GridLayout(0,2));
labelP = new Label("Places: ", Label.RIGHT);
labelT = new Label("Transitions: ", Label.RIGHT);
labelF = new Label("Arcs: ", Label.RIGHT);
labelW = new Label("Weights: ", Label.RIGHT);
labelMo = new Label("Initial Marking: ", Label.RIGHT);
areaP = new JTextArea("Places", 3, 25);
// areaP.setEditable(false);
areaP.setEnabled(false);
areaT = new JTextArea("Transitions", 3, 25);
// areaT.setEditable(false);
areaT.setEnabled(false);
areaF = new JTextArea("Arcs", 3, 25);
// areaF.setEditable(false);
areaF.setEnabled(false);
areaW = new JTextArea("Weights", 1, 25);
// areaW.setEditable(false);
areaW.setEnabled(false);
areaMo = new JTextArea("Initial Marking", 1, 25);
// areaMo.setEditable(false);
areaMo.setEnabled(false);
update = new JButton("Update");
update.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event) {
updateSt(run.Ed.PNet);
}
}
);
add(labelP);
add(new JScrollPane(areaP));
add(labelT);
add(new JScrollPane(areaT));
add(labelF);
add(new JScrollPane(areaF));
add(labelW);
add(new JScrollPane(areaW));
add(labelMo);
add(new JScrollPane(areaMo));
add(new JLabel(""));
add(update);
/*
areaP.setText(this.getStringP(PNet));
areaT.setText(this.getStringT(PNet));
areaF.setText(this.getStringF(PNet));
areaMo.setText(this.getStringMo(PNet));
*///
//
//
//
this.setVisible(true);
this.setSize(400, 450);
}
public void setStringP(pn PN){
stringP = new String("");
for(int i = 0; i < PN.numberOfPlaces(); i++){
place p = new place();
p = PN.getPlace(i);
stringP +=" " + p.getName() + ",";
if(p.getName() == null) stringP +=" " + "P0" + ",";
if((i+1) > 0 && (i+1)%5 == 0){
stringP +='\n';
}
}
}
// return stringP;
public String getStringP(pn PN){
return stringP;
}
public void setStringT(pn PN){
stringT = new String("");
for(int j = 0; j < PN.numberOfTransitions(); j++){
transition t = new transition();
t = PN.getTransition(j);
stringT +=" " + t.getName() + ",";
if(t.getName() == "") stringT += " " + "T0" + ",";
if((j+1) > 0 && (j+1)%5 == 0) {
stringT +='\n';
}
}
// return stringT;
}
public String getStringT(pn PN){
return stringT;
}
public void setStringF(pn PN){
// place p;
// transition t;
stringF = new String("");
edge e = new edge(0, 0, 0, 0, null);
for( int i = 0; i < PN.numberOfEdges(); i++){
e = PN.getEdge(i);
// p = run.Ed.PNet.getPlace(i);
if( e.getTFrom() == e.PLACE ){
stringF +="*t: " + run.Ed.PNet.getPlace(e.getIFrom()).getName() + " to " + run.Ed.PNet.getTransition(e.getITo()).getName() + " with weight " + e.getWeight();
if(e.isNegated()) stringF += " o";
stringF += '\n';
}
else if(e.getTFrom() == e.TRANSITION){
stringF +="t*: " + run.Ed.PNet.getTransition(e.getIFrom()).getName() + " to " + run.Ed.PNet.getPlace(e.getITo()).getName() + " with weight " + e.getWeight();
if(e.isNegated()) stringF += " o";
stringF += '\n';
}
}
// return stringF;
}
public String getStringF(pn PN){
return stringF;
}
public void setStringW(pn PN){
stringW = "";
for( int i = 0; i < PN.numberOfEdges(); i++ ){
stringW += " " + PN.getEdge(i).getWeight() + ",";
if((i+1) > 0 && (i+1)%5 == 0) {
stringW +='\n';
}
}
}
public String getStringW(pn PN){
return stringW;
}
public String getStringMo(pn PN){
stringMo = new String("");
for(int i = 0; i < PN.numberOfPlaces(); i++){
place p = PN.getPlace(i);
stringMo +=" " + p.getTokens() + ",";
if((i+1) > 0 && (i+1)%5 == 0) {
stringMo +='\n';
}
}
return stringMo;
}
public void updateSt(pn PN1){
this.setStringP(PN1);
this.setStringT(PN1);
this.setStringF(PN1);
this.setStringW(PN1);
areaP.setText(this.getStringP(PN1));
areaT.setText(this.getStringT(PN1));
areaF.setText(this.getStringF(PN1));
areaW.setText(this.getStringW(PN1));
areaMo.setText(this.getStringMo(PN1));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -