📄 ganttsaveaspreviousstatebean.java
字号:
/** * */package net.sourceforge.ganttproject.gui.previousState;import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.event.ActionListener;import java.util.ArrayList;import javax.swing.Box;import javax.swing.JButton;import javax.swing.JComboBox;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;import javax.swing.border.EtchedBorder;import javax.swing.border.TitledBorder;import net.sourceforge.ganttproject.GanttPreviousState;import net.sourceforge.ganttproject.GanttProject;import net.sourceforge.ganttproject.language.GanttLanguage;/** * @author nbohn * */public class GanttSaveAsPreviousStateBean extends JPanel { private JPanel generalPanel, southPanel; private JButton okButton, cancelButton; private JTextField nameTextField; private JLabel previousStateLabel; private JComboBox nameComboBox; private ArrayList myPreviousStates; private GanttLanguage lang = GanttLanguage.getInstance(); private static String defaultName = GanttLanguage.getInstance().getText( "save"); private static int count = 1; public GanttSaveAsPreviousStateBean(GanttProject project) { myPreviousStates = project.getPreviouStates(); if (myPreviousStates.size() == 0) { defaultName = GanttLanguage.getInstance().getText("save"); count = 1; } init(); } public void init() { setLayout(new BorderLayout()); add(constructNamePanel(), BorderLayout.CENTER); add(constructSouthPanel(), BorderLayout.SOUTH); nameTextField.requestFocusInWindow(); } /** Construct the south panel */ private JPanel constructSouthPanel() { okButton = new JButton(lang.getText("ok")); okButton.setName("ok"); if (getRootPane() != null) getRootPane().setDefaultButton(okButton); // set ok the defuault // button when press // "enter" --> check // because // getRootPane()==null // !!! cancelButton = new JButton(lang.getText("cancel")); cancelButton.setName("cancel"); southPanel = new JPanel(new FlowLayout(FlowLayout.TRAILING, 10, 10)); southPanel.add(okButton); southPanel.add(cancelButton); return southPanel; } private Box constructNamePanel() { Box box = Box.createVerticalBox(); JPanel previousStatePanel; nameComboBox = new JComboBox(); if (myPreviousStates.size() != 0) { previousStatePanel = new JPanel(new FlowLayout(FlowLayout.TRAILING, 30, 20)); previousStateLabel = new JLabel(lang.getText("previousStates")); for (int i = 0; i < myPreviousStates.size(); i++) nameComboBox.addItem(((GanttPreviousState) myPreviousStates .get(i)).getName()); nameComboBox.setName("nameComboBox"); nameComboBox.setSelectedIndex(-1); previousStatePanel.add(previousStateLabel); previousStatePanel.add(nameComboBox); box.add(previousStatePanel); } nameTextField = new JTextField(20); nameTextField.setText(defaultName + "_" + count); nameTextField.selectAll(); JPanel namePanel = new JPanel(new FlowLayout(FlowLayout.TRAILING, 30, 20)); namePanel.add(nameTextField); box.add(namePanel); box .setBorder(new TitledBorder(new EtchedBorder(), lang .getText("name"))); return box; } public String getName() { return nameTextField.getText(); } public void addActionListener(ActionListener l) { okButton.addActionListener(l); cancelButton.addActionListener(l); nameComboBox.addActionListener(l); } public JTextField getTextField() { return nameTextField; } public void setDefaultName() { if (!nameTextField.getText().equals(defaultName + "_" + count)) { defaultName = nameTextField.getText(); count = 0; } count++; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -