|
61 | 61 | import java.awt.Component; |
62 | 62 | import java.awt.DefaultKeyboardFocusManager; |
63 | 63 | import java.awt.Dimension; |
64 | | -import java.awt.Frame; |
| 64 | +import java.awt.Graphics; |
65 | 65 | import java.awt.GridLayout; |
66 | 66 | import java.awt.KeyboardFocusManager; |
67 | | -import java.awt.Label; |
68 | | -import java.awt.Panel; |
69 | 67 | import java.awt.Toolkit; |
70 | 68 | import java.awt.event.AWTEventListener; |
71 | 69 | import java.awt.event.ActionEvent; |
| 70 | +import java.awt.event.ActionListener; |
72 | 71 | import java.awt.event.FocusEvent; |
73 | 72 | import java.awt.event.FocusListener; |
| 73 | +import java.awt.event.KeyEvent; |
| 74 | +import java.awt.event.KeyListener; |
74 | 75 | import java.awt.event.MouseEvent; |
75 | 76 | import java.awt.event.MouseListener; |
76 | 77 | import java.util.logging.ConsoleHandler; |
|
80 | 81 | import javax.swing.AbstractAction; |
81 | 82 | import javax.swing.BorderFactory; |
82 | 83 | import javax.swing.InputMap; |
| 84 | +import javax.swing.JButton; |
83 | 85 | import javax.swing.JComponent; |
| 86 | +import javax.swing.JFrame; |
| 87 | +import javax.swing.JLabel; |
| 88 | +import javax.swing.JPanel; |
| 89 | +import javax.swing.JScrollPane; |
| 90 | +import javax.swing.JSplitPane; |
84 | 91 | import javax.swing.JTextArea; |
85 | 92 | import javax.swing.KeyStroke; |
86 | 93 | import javax.swing.SwingUtilities; |
| 94 | +import javax.swing.UIManager; |
| 95 | +import javax.swing.border.Border; |
87 | 96 |
|
88 | 97 |
|
89 | 98 |
|
|
94 | 103 | * @see https |
95 | 104 | * ://docs.oracle.com/javase/tutorial/uiswing/events/mouselistener.html |
96 | 105 | */ |
97 | | -public class MouseEventDemo_AWT extends Panel implements MouseListener { |
| 106 | +public class MouseEventDemo_AWT extends JPanel implements MouseListener { |
98 | 107 |
|
99 | 108 |
|
100 | 109 | private static void logClass(String name) { |
@@ -128,7 +137,7 @@ private void setLogging() { |
128 | 137 |
|
129 | 138 |
|
130 | 139 |
|
131 | | - private class BlankArea extends Label { |
| 140 | + private class BlankArea extends JLabel { |
132 | 141 | Dimension minSize = new Dimension(200, 100); |
133 | 142 |
|
134 | 143 | public BlankArea(Color color) { |
@@ -194,7 +203,7 @@ public void run() { |
194 | 203 | */ |
195 | 204 | private static void createAndShowGUI() { |
196 | 205 | // Create and set up the window. |
197 | | - Frame frame = new Frame("MouseEventDemo (C to clear)"); |
| 206 | + JFrame frame = new JFrame("MouseEventDemo (C to clear)"); |
198 | 207 | //frame.setDefaultCloseOperation(Frame.DISPOSE_ON_CLOSE); |
199 | 208 |
|
200 | 209 | // Create and set up the content pane. |
@@ -238,76 +247,76 @@ public void eventDispatched(AWTEvent event) { |
238 | 247 |
|
239 | 248 | setFocusable(false); // in AWT now Frame |
240 | 249 |
|
241 | | -// textArea = new JTextArea(); |
242 | | -// textArea.setEditable(false); |
243 | | -// JScrollPane scrollPane = new JScrollPane(textArea); |
244 | | -// scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); |
245 | | -// scrollPane.setPreferredSize(new Dimension(400, 75)); |
246 | | -// |
247 | | -// |
248 | | -// blankArea = new BlankArea(Color.YELLOW); |
249 | | -// JPanel panel = new JPanel() { |
| 250 | + textArea = new JTextArea(); |
| 251 | + textArea.setEditable(false); |
| 252 | + JScrollPane scrollPane = new JScrollPane(textArea); |
| 253 | + scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); |
| 254 | + scrollPane.setPreferredSize(new Dimension(400, 75)); |
| 255 | + |
| 256 | + |
| 257 | + blankArea = new BlankArea(Color.YELLOW); |
| 258 | + JPanel panel = new JPanel() { |
| 259 | + protected void paintBorder(Graphics g) { |
| 260 | + System.out.println("MED JPanel painting border " + getBorder()); |
| 261 | + super.paintBorder(g); |
| 262 | + } |
| 263 | + public void setBorder(Border b) { |
| 264 | + super.setBorder(b); |
| 265 | + } |
| 266 | + }; |
| 267 | + |
| 268 | + System.out.println(UIManager.getBorder("Panel.border") + " " + panel.getBorder()); |
| 269 | +// panel.setBorder(new BevelBorder(1)); |
| 270 | + panel.add(blankArea); |
| 271 | + JButton btn = new JButton("clear"); |
| 272 | + btn.setMnemonic('l'); |
| 273 | + btn.addActionListener(new ActionListener() { |
| 274 | + |
| 275 | + @Override |
| 276 | + public void actionPerformed(ActionEvent e) { |
| 277 | + textArea.setText(""); |
| 278 | + log(""); |
| 279 | + } |
| 280 | + |
| 281 | + }); |
| 282 | + |
| 283 | + panel.add(btn); |
| 284 | +// JPanel scrollPane = new JPanel() { |
250 | 285 | // protected void paintBorder(Graphics g) { |
251 | | -// System.out.println("MED JPanel painting border " + getBorder()); |
| 286 | +// System.out.println("MED.scrollPanePanel painting border " + getBorder()); |
252 | 287 | // super.paintBorder(g); |
253 | 288 | // } |
254 | | -// public void setBorder(Border b) { |
255 | | -// super.setBorder(b); |
256 | | -// } |
257 | 289 | // }; |
258 | | -// |
259 | | -// System.out.println(UIManager.getBorder("Panel.border") + " " + panel.getBorder()); |
260 | | -//// panel.setBorder(new BevelBorder(1)); |
261 | | -// panel.add(blankArea); |
262 | | -// JButton btn = new JButton("clear"); |
263 | | -// btn.setMnemonic('l'); |
264 | | -// btn.addActionListener(new ActionListener() { |
265 | | -// |
266 | | -// @Override |
267 | | -// public void actionPerformed(ActionEvent e) { |
268 | | -// textArea.setText(""); |
269 | | -// log(""); |
270 | | -// } |
271 | | -// |
272 | | -// }); |
273 | | -// |
274 | | -// panel.add(btn); |
275 | | -//// JPanel scrollPane = new JPanel() { |
276 | | -//// protected void paintBorder(Graphics g) { |
277 | | -//// System.out.println("MED.scrollPanePanel painting border " + getBorder()); |
278 | | -//// super.paintBorder(g); |
279 | | -//// } |
280 | | -//// }; |
281 | | -//// scrollPane.add(j); |
282 | | -// JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, panel, scrollPane); |
283 | | -// splitPane.setVisible(true); |
284 | | -// splitPane.setDividerLocation(0.2d); |
285 | | -// splitPane.setResizeWeight(0.5d); |
286 | | -// add(splitPane); |
287 | | -// |
288 | | -// addKeyBinding(); |
289 | | -// |
290 | | -// addKeyListener(new KeyListener() { |
291 | | -// |
292 | | -// @Override |
293 | | -// public void keyTyped(KeyEvent e) { |
294 | | -// System.out.println(e); |
295 | | -// } |
296 | | -// |
297 | | -// @Override |
298 | | -// public void keyPressed(KeyEvent e) { |
299 | | -// } |
300 | | -// |
301 | | -// @Override |
302 | | -// public void keyReleased(KeyEvent e) { |
303 | | -// // TODO Auto-generated method stub |
304 | | -// |
305 | | -// } |
306 | | -// |
307 | | -// }); |
308 | | -// blankArea.addMouseListener(this); |
309 | | -// addMouseListener(this); |
310 | | -// setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20)); |
| 290 | +// scrollPane.add(j); |
| 291 | + JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, panel, scrollPane); |
| 292 | + splitPane.setVisible(true); |
| 293 | + splitPane.setDividerLocation(0.2d); |
| 294 | + splitPane.setResizeWeight(0.5d); |
| 295 | + add(splitPane); |
| 296 | + |
| 297 | + addKeyBinding(); |
| 298 | + |
| 299 | + addKeyListener(new KeyListener() { |
| 300 | + |
| 301 | + @Override |
| 302 | + public void keyTyped(KeyEvent e) { |
| 303 | + System.out.println(e); |
| 304 | + } |
| 305 | + |
| 306 | + @Override |
| 307 | + public void keyPressed(KeyEvent e) { |
| 308 | + } |
| 309 | + |
| 310 | + @Override |
| 311 | + public void keyReleased(KeyEvent e) { |
| 312 | + // TODO Auto-generated method stub |
| 313 | + |
| 314 | + } |
| 315 | + |
| 316 | + }); |
| 317 | + blankArea.addMouseListener(this); |
| 318 | + addMouseListener(this); |
| 319 | + setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20)); |
311 | 320 | } |
312 | 321 |
|
313 | 322 | private void addKeyBinding() { |
@@ -339,7 +348,7 @@ void addKeyBinding(final KeyStroke ks) { |
339 | 348 | this.getActionMap().put(ks, new AbstractAction() { |
340 | 349 | @Override |
341 | 350 | public void actionPerformed(ActionEvent e) { |
342 | | - textArea.setText(""); |
| 351 | + textArea.setText("" + e); |
343 | 352 | log(""); |
344 | 353 | } |
345 | 354 | }); |
|
0 commit comments