1 package wbKerho;
2
3 import java.awt.BorderLayout;
4 import java.awt.FlowLayout;
5 import java.awt.Frame;
6 import javax.swing.JButton;
7 import javax.swing.JComponent;
8 import javax.swing.JDialog;
9 import javax.swing.JPanel;
10 import javax.swing.KeyStroke;
11 import javax.swing.border.EmptyBorder;
12 import java.awt.event.ActionListener;
13 import java.awt.event.ActionEvent;
14 import java.awt.event.KeyEvent;
15 import fi.jyu.mit.gui.EditPanel;
16
17
23 public class KerhonNimiDialog extends JDialog {
24
25 private static final long serialVersionUID = 1L;
26
27 private final JPanel contentPanel = new JPanel();
28 private EditPanel editPanel = new EditPanel();
29
30
31
36 public static String askName(String defName) {
37 String ret = null;
38 KerhonNimiDialog dialog = new KerhonNimiDialog(null);
39 dialog.editPanel.setText(defName);
40 dialog.setVisible(true);
41 ret = dialog.getResult();
42 dialog.dispose();
43 return ret;
44 }
45
46 private String result = null;
47
48
49
53 public String getResult() {
54 return result;
55 }
56
57
58
62 protected void setResult(String value) {
63 result = value;
64 }
65
66
67
71 protected EditPanel getEditPanel() {
72 return editPanel;
73 }
74
75
76
80 public KerhonNimiDialog(Frame parent) {
81 super(parent, "Nimi", true);
82 setTitle("Kerho");
83 setBounds(100, 100, 371, 268);
84 getContentPane().setLayout(new BorderLayout());
85 contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
86
87 contentPanel.registerKeyboardAction(new ActionListener() {
88 @Override
89 public void actionPerformed(ActionEvent actionEvent) {
90 setResult(null);
91 setVisible(false);
92 }
93 }, KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_IN_FOCUSED_WINDOW);
94
95 getContentPane().add(contentPanel, BorderLayout.SOUTH);
96 contentPanel.setLayout(new BorderLayout(0, 0));
97
98 editPanel.setColumns(20);
99 editPanel.setCaption("Anna kerhon nimi");
100 contentPanel.add(editPanel, BorderLayout.NORTH);
101 JPanel buttonPane = new JPanel();
102 contentPanel.add(buttonPane, BorderLayout.SOUTH);
103 buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
104
105 JButton okButton = new JButton("OK");
106 okButton.addActionListener(new ActionListener() {
107 @Override
108 public void actionPerformed(ActionEvent arg0) {
109 setResult(getEditPanel().getText());
110 setVisible(false);
111 }
112 });
113 buttonPane.add(okButton);
114 getRootPane().setDefaultButton(okButton);
115
116 JButton cancelButton = new JButton("Cancel");
117 cancelButton.addActionListener(new ActionListener() {
118 @Override
119 public void actionPerformed(ActionEvent arg0) {
120 setResult(null);
121 setVisible(false);
122 }
123 });
124 cancelButton.setActionCommand("Cancel");
125 buttonPane.add(cancelButton);
126
127 TiedotPanel tiedotPanel = new TiedotPanel();
128 getContentPane().add(tiedotPanel, BorderLayout.CENTER);
129 }
130
131 }
132