src/de/uapcore/sudoku/SudokuTextField.java

changeset 1
f1d7de36b01e
child 2
5179eff8a9b6
equal deleted inserted replaced
0:93d6c51154a7 1:f1d7de36b01e
1 package de.uapcore.sudoku;
2
3 import java.awt.Color;
4 import java.awt.Dimension;
5 import java.awt.Font;
6 import java.awt.event.FocusAdapter;
7 import java.awt.event.FocusEvent;
8 import java.awt.event.KeyAdapter;
9 import java.awt.event.KeyEvent;
10 import javax.swing.JTextField;
11
12 /**
13 *
14 * @author mike
15 */
16 public class SudokuTextField extends JTextField {
17
18 public SudokuTextField() {
19 setBorder(null);
20 setBackground(Color.WHITE);
21
22 setFont(new Font("Dialog", Font.PLAIN, 18));
23 setHorizontalAlignment(JTextField.CENTER);
24
25 Dimension dim = new Dimension(40,40);
26 setPreferredSize(dim);
27 setMinimumSize(dim);
28 setMaximumSize(dim);
29
30 addKeyListener(new KeyAdapter() {
31 private void handle(KeyEvent e) {
32 if (getText().length() > 0) {
33 int c = e.getKeyCode();
34 if (c != KeyEvent.VK_DELETE &&
35 c != KeyEvent.VK_BACK_SPACE &&
36 !e.isActionKey()) {
37 e.consume();
38 }
39 } else {
40 char c = e.getKeyChar();
41 if (c < '0' || c > '9') {
42 e.consume();
43 }
44 }
45 }
46
47 @Override
48 public void keyPressed(KeyEvent e) {
49 handle(e);
50 }
51
52 @Override
53 public void keyTyped(KeyEvent e) {
54 handle(e);
55 }
56
57 @Override
58 public void keyReleased(KeyEvent e) {
59 handle(e);
60 }
61
62 });
63 addFocusListener(new FocusAdapter() {
64 @Override
65 public void focusGained(FocusEvent e) {
66 selectAll();
67 }
68 });
69 }
70
71 }

mercurial