?? promptdialog.java
字號:
package ui;import javax.swing.*;import core.Command;import java.util.List;import java.util.ArrayList;import java.awt.*;import java.awt.event.*;public class PromptDialog extends JDialog{ private Command m_command; private int m_count; private JLabel [] m_labels; private JTextField [] m_inputs; private boolean m_canceled; public PromptDialog (Command cmd) { super (cmd.getFrame(), true); m_canceled = true; m_command = cmd; String [] prompts = cmd.getParameterPrompts (); m_count = prompts.length; m_labels = new JLabel [m_count]; m_inputs = new JTextField [m_count]; for (int i = 0; i < m_count; i++) { m_labels[i] = new JLabel (prompts[i]); m_inputs[i] = new JTextField (20); } configureDisplay (); pack(); show(); } public boolean isCanceled () { return m_canceled; } private void configureDisplay () { // a vertical box arrangement JPanel dlogPanel = new JPanel (); dlogPanel.setLayout (new BoxLayout (dlogPanel, BoxLayout.Y_AXIS)); dlogPanel.add (createQAPanel ()); dlogPanel.add (createButtonPanel ()); this.getContentPane().add (dlogPanel, BorderLayout.CENTER); } // ----> top box contains two grid panels private JPanel createQAPanel () { JPanel qaPanel = new JPanel (); qaPanel.setLayout (new BoxLayout (qaPanel, BoxLayout.X_AXIS)); JPanel labelPanel = new JPanel (); labelPanel.setLayout (new GridLayout (m_count, 1)); for (int i = 0; i < m_count; i++) labelPanel.add (m_labels[i]); JPanel inputPanel = new JPanel (); inputPanel.setLayout (new GridLayout (m_count, 1)); for (int i = 0; i < m_count; i++) inputPanel.add (m_inputs[i]); qaPanel.add (labelPanel); qaPanel.add (inputPanel); return qaPanel; } private JPanel createButtonPanel () { // ----> bottom box contains buttons JPanel buttonPanel = new JPanel (); buttonPanel.setLayout (new BoxLayout (buttonPanel, BoxLayout.X_AXIS)); JButton okButton = new JButton ("OK"); okButton.addActionListener (new ActionListener () { public void actionPerformed (ActionEvent e) { m_canceled = false; PromptDialog.this.hide (); } }); JButton cancelButton = new JButton ("Cancel"); cancelButton.addActionListener (new ActionListener () { public void actionPerformed (ActionEvent e) { m_canceled = true; PromptDialog.this.hide (); } }); buttonPanel.add (okButton); buttonPanel.add (cancelButton); return buttonPanel; } public List getValues () { List answer = new ArrayList (); for (int i = 0; i < m_count; i++) { answer.add (m_inputs[i].getText()); } return answer; }}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -