⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 petrinetchooserpanel.java

📁 Petri网分析工具PIPE is open-source
💻 JAVA
字号:
package pipe.gui.widgets;import java.awt.Dimension;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.File;import javax.swing.Box;import javax.swing.BoxLayout;import javax.swing.JButton;import javax.swing.JCheckBox;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;import javax.swing.border.EtchedBorder;import javax.swing.border.TitledBorder;import pipe.dataLayer.DataLayer;/** * Makes a filebrowser panel * which is a JPanel containing the required stuff * @author Maxim  */public class PetriNetChooserPanel extends JPanel {  JCheckBox  useCurrent;  JLabel     label;  JTextField textField;  JButton    browse;  private DataLayer  defaultNet;  public PetriNetChooserPanel(String title,DataLayer defaultNet) {    super();        this.setLayout(new BoxLayout(this,BoxLayout.LINE_AXIS));        this.defaultNet=defaultNet;    if (defaultNet!=null) {      useCurrent=new JCheckBox("Use current net",true);      useCurrent.addActionListener(useCurrentClick);      this.add(useCurrent);      this.add(Box.createHorizontalStrut(10));    }        label=new JLabel("Filename:");    this.add(label);    this.add(Box.createHorizontalStrut(5));        textField=new JTextField((defaultNet!=null?defaultNet.getURI():null),15);//    textField.setMaximumSize(new Dimension(Integer.MAX_VALUE,this.getPreferredSize().height));//    textField.setPreferredSize(new Dimension());    this.add(textField);    this.add(Box.createHorizontalStrut(5));        browse=new JButton("Browse");    browse.addActionListener(browseButtonClick);    this.add(browse);        this.setBorder(new TitledBorder(new EtchedBorder(EtchedBorder.LOWERED),title));        this.setMaximumSize(new Dimension(Integer.MAX_VALUE,this.getPreferredSize().height));        if(useCurrent!=null) useCurrent.getActionListeners()[0].actionPerformed(null); // update   }    private ActionListener useCurrentClick=new ActionListener() {    public void actionPerformed(ActionEvent e) {      boolean enabled=!useCurrent.isSelected();      label.setEnabled(enabled);      textField.setEnabled(enabled);      browse.setEnabled(enabled);    }  };    private ActionListener browseButtonClick=new ActionListener() {    public void actionPerformed(ActionEvent e) {      File f=new FileBrowser(textField.getText()).openFile();      if(f!=null)textField.setText(f.getAbsolutePath());    }  };    public DataLayer getDataLayer() {    if ((useCurrent!=null)&&(useCurrent.isSelected())) return defaultNet;    else {      String FileName=textField.getText();      try {        DataLayer result=new DataLayer(FileName);        return result;      } catch (Exception e) {        JOptionPane.showMessageDialog(null, "Error loading\n"+FileName+"\nPlease check it is a valid PNML file.","Error",JOptionPane.ERROR_MESSAGE);      }      return null;    }  }} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -