src/de/uapcore/sudoku/SudokuTextField.java

Sat, 26 Jan 2013 15:48:59 +0100

author
Mike Becker <universe@uap-core.de>
date
Sat, 26 Jan 2013 15:48:59 +0100
changeset 1
f1d7de36b01e
child 2
5179eff8a9b6
permissions
-rw-r--r--

init project + editable sudoku field

     1 package de.uapcore.sudoku;
     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;
    12 /**
    13  *
    14  * @author mike
    15  */
    16 public class SudokuTextField extends JTextField {
    18     public SudokuTextField() {
    19         setBorder(null);
    20         setBackground(Color.WHITE);
    22         setFont(new Font("Dialog", Font.PLAIN, 18));
    23         setHorizontalAlignment(JTextField.CENTER);
    25         Dimension dim = new Dimension(40,40);
    26         setPreferredSize(dim);
    27         setMinimumSize(dim);
    28         setMaximumSize(dim);
    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             }
    47             @Override
    48             public void keyPressed(KeyEvent e) {
    49                 handle(e);
    50             }
    52             @Override
    53             public void keyTyped(KeyEvent e) {
    54                 handle(e);
    55             }
    57             @Override
    58             public void keyReleased(KeyEvent e) {
    59                 handle(e);
    60             }
    62         });
    63         addFocusListener(new FocusAdapter() {
    64             @Override
    65             public void focusGained(FocusEvent e) {
    66                 selectAll();
    67             }
    68         });
    69     }
    71 }

mercurial