📄 caseform.java
字号:
//判断变量名是否已经存在
/*
if(FlowGraphConstants.getInputTemplate(cell.getAttributes()) != null){
if(((Parameters)FlowGraphConstants.getInputTemplate(cell.getAttributes())).exitsParameter(inputName.getText())){
JOptionPane.showConfirmDialog(FlowManager.getInstance(),
"变量"+inputName.getText()+"已经存在!",
"工作流操作提示",
JOptionPane.CLOSED_OPTION);
inputName.requestFocus();
return;
}
}*/
for(int i=0;i<((ParameterTableModel)outputTable.getModel()).getRowCount();i++){
if(((ParameterTableModel)outputTable.getModel()).getValueAt(i, 0).toString().equalsIgnoreCase(outputName.getText())){
JOptionPane.showConfirmDialog(FlowManager.getInstance(),
"变量"+outputName.getText()+" 已经存在!",
"工作流操作提示",
JOptionPane.CLOSED_OPTION);
return;
}
}
((ParameterTableModel)outputTable.getModel()).addRow(outputName.getText(), outputType.getSelectedItem().toString(), outputValue.getText(), outputDiscription.getText());
Parameter p = new Parameter(outputName.getText(), outputType.getSelectedItem().toString(), outputValue.getText(), outputDiscription.getText());
((Parameters)FlowGraphConstants.getOutputTemplate(cell.getAttributes())).addParameter(p);
outputName.setText("");
outputType.setSelectedIndex(0);
outputValue.setText("");
outputDiscription.setText("");
}});
outputTable.addMouseListener(new MouseListener(){
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
outputRowID = outputTable.rowAtPoint(e.getPoint());
int columnID = outputTable.columnAtPoint(e.getPoint());
outputName.setText(((ParameterTableModel)outputTable.getModel()).getValueAt(outputRowID, 0).toString());
outputType.setSelectedItem(((ParameterTableModel)outputTable.getModel()).getValueAt(outputRowID, 1).toString());
outputValue.setText(((ParameterTableModel)outputTable.getModel()).getValueAt(outputRowID, 2).toString());
outputDiscription.setText(((ParameterTableModel)outputTable.getModel()).getValueAt(outputRowID, 3).toString());
}
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}});
outputModifyButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(outputRowID != -1){
if(outputName.getText().length() <= 0){
JOptionPane.showConfirmDialog(FlowManager.getInstance(),
"变量名称不能为空!",
"工作流操作提示",
JOptionPane.CLOSED_OPTION);
outputName.requestFocus();
return;
}
if(outputType.getSelectedIndex() == 0){
JOptionPane.showConfirmDialog(FlowManager.getInstance(),
"请选择数据类型!",
"工作流操作提示",
JOptionPane.CLOSED_OPTION);
outputType.requestFocus();
return;
}
//////////////////////////
//判断变量名是否已经存在
for(int i=0;i<((ParameterTableModel)outputTable.getModel()).getRowCount();i++){
if(i == outputRowID)
continue;
if(((ParameterTableModel)outputTable.getModel()).getValueAt(i, 0).toString().equalsIgnoreCase(outputName.getText())){
JOptionPane.showConfirmDialog(FlowManager.getInstance(),
"变量"+outputName.getText()+" 已经存在!",
"工作流操作提示",
JOptionPane.CLOSED_OPTION);
return;
}
}
String name = ((ParameterTableModel)outputTable.getModel()).getValueAt(outputRowID, 0).toString();
int index = ((Parameters)FlowGraphConstants.getOutputTemplate(cell.getAttributes())).getExistsParameter(name);
if(index >= 0){
((Parameter)((Parameters)FlowGraphConstants.getOutputTemplate(cell.getAttributes())).getParameters().get(index)).setName(outputName.getText());
((Parameter)((Parameters)FlowGraphConstants.getOutputTemplate(cell.getAttributes())).getParameters().get(index)).setType(outputType.getSelectedItem().toString());
((Parameter)((Parameters)FlowGraphConstants.getOutputTemplate(cell.getAttributes())).getParameters().get(index)).setValue(outputValue.getText());
((Parameter)((Parameters)FlowGraphConstants.getOutputTemplate(cell.getAttributes())).getParameters().get(index)).setDiscription(outputDiscription.getText());
}
((ParameterTableModel)outputTable.getModel()).setValueAt(outputName.getText(), outputRowID, 0);
((ParameterTableModel)outputTable.getModel()).setValueAt(outputType.getSelectedItem().toString(), outputRowID, 1);
((ParameterTableModel)outputTable.getModel()).setValueAt(outputValue.getText(), outputRowID, 2);
((ParameterTableModel)outputTable.getModel()).setValueAt(outputDiscription.getText(), outputRowID, 3);
outputName.setText("");
outputType.setSelectedIndex(0);
outputValue.setText("");
outputDiscription.setText("");
}
outputRowID = -1;
}});
outputDeleteButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(outputRowID != -1){
((ParameterTableModel)outputTable.getModel()).removeRow(outputRowID);
int index = ((Parameters)FlowGraphConstants.getOutputTemplate(cell.getAttributes())).getExistsParameter(outputName.getText());
if(index >= 0){
((Parameters)FlowGraphConstants.getOutputTemplate(cell.getAttributes())).getParameters().remove(index);
}
outputName.setText("");
outputType.setSelectedIndex(0);
outputValue.setText("");
outputDiscription.setText("");
}
outputRowID = -1;
}});
///////////////////////////////////////////////////////////
dialog.getContentPane().setLayout(new BorderLayout());
Box parameterBox = Box.createHorizontalBox();
parameterBox.add(inputTitledPanel);
parameterBox.add(outputTitledPanel);
JPanel parameterPanel = new JPanel(new BorderLayout());
parameterPanel.setBorder(new TitledBorder("参数"));
parameterPanel.setPreferredSize(new Dimension(10, 1));
parameterPanel.add(parameterBox, BorderLayout.CENTER);
//Box actionBox1 = Box.createVerticalBox();
//actionBox1.add(condictionBox);
//actionBox1.add(actionPanel);
Box actionBox = Box.createHorizontalBox();
//JTextArea tipsArea = new JTextArea();
JPanel tipsPanel = new JPanel(new BorderLayout());
tipsPanel.setBorder(new TitledBorder("函数参考"));
tipsPanel.setPreferredSize(new Dimension(1, 100));
tipsPanel.add(new FunctionTree(graph).getTree(), BorderLayout.CENTER);
actionBox.add(actionPanel);
actionBox.add(Box.createVerticalStrut(10));
actionBox.add(tipsPanel);
JPanel codePanel = new JPanel(new BorderLayout());
codePanel.setBorder(new TitledBorder("代码"));
codePanel.add(actionBox, BorderLayout.CENTER);
Box layoutBox = Box.createVerticalBox();
layoutBox.add(parameterPanel);
layoutBox.add(codePanel);
dialog.getContentPane().add(layoutBox, BorderLayout.CENTER);
dialog.getContentPane().add(exitPanel, BorderLayout.SOUTH);
dialog.setSize(900, 650);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
dialog.setLocation((screenSize.width-900)/2, (screenSize.height-650)/2);
dialog.setResizable(false);
dialog.addWindowListener(new WindowListener(){
public void windowOpened(WindowEvent e) {
// TODO Auto-generated method stub
}
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
saveData();
}
public void windowClosed(WindowEvent e) {
// TODO Auto-generated method stub
}
public void windowIconified(WindowEvent e) {
// TODO Auto-generated method stub
}
public void windowDeiconified(WindowEvent e) {
// TODO Auto-generated method stub
}
public void windowActivated(WindowEvent e) {
// TODO Auto-generated method stub
}
public void windowDeactivated(WindowEvent e) {
// TODO Auto-generated method stub
}
});
dialog.show();
}
private void saveData(){
if(FlowGraphConstants.getActionTemplate(edge.getAttributes()) != null){
((ActionTemplate)FlowGraphConstants.getActionTemplate(edge.getAttributes())).setAction(actionArea.getText());
}
if(FlowGraphConstants.getCaseTemplate(edge.getAttributes()) != null){
((CaseTemplate)FlowGraphConstants.getCaseTemplate(edge.getAttributes())).setCondiction(condictionField.getText());
}
LuaCaseParse parse = new LuaCaseParse(cell);
System.out.println(parse.getDiscriptionCode());
System.out.println(parse.getDefineCode());
System.out.println(parse.getExecuteCode());
inputType.setPopupVisible(false);
inputSource.setPopupVisible(false);
outputType.setPopupVisible(false);
dialog.dispose();
}
public static void setLookAndFeel(){
try {
com.nilo.plaf.nimrod.NimRODTheme nt = new com.nilo.plaf.nimrod.NimRODTheme();
nt.setOpacity(100);
com.nilo.plaf.nimrod.NimRODLookAndFeel NimRODLF = new com.nilo.plaf.nimrod.NimRODLookAndFeel();
NimRODLF.setCurrentTheme( nt);
UIManager.setLookAndFeel( NimRODLF);
} catch (UnsupportedLookAndFeelException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args){
CaseForm.setLookAndFeel();
new CaseForm(new DefaultGraphCell(), new DefaultEdge(), new JGraph());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -