Portál AbcLinuxu, 15. května 2025 15:17

Dotaz: Java - JTextField a reálne čísla

6.4.2019 19:52 Martina
Java - JTextField a reálne čísla
Přečteno: 276×
Odpovědět | Admin
Dobrý deň, v programe mám textové polia, zatiaľ tam mám povolené iba celé čísla ale niekde by som potrebovala, aby sa tam dalo napísať aj znamienko mínus resp. desatinná bodka, teda aby sa tam dali napísať reálne čísla. Ja som to zatiaľ riešila takto:
txt21 = new JTextField();
 txt21.addKeyListener(new KeyAdapter() {
  public void keyTyped(KeyEvent e) {
   char c = e.getKeyChar();
   if (!(Character.isDigit(c)) || c == KeyEvent.VK_BACK_SPACE || c == KeyEvent.VK_DELETE)
    e.consume();
  }
 });
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

6.4.2019 20:17 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše Re: Java - JTextField a reálne čísla
Odpovědět | | Sbalit | Link | Blokovat | Admin
Odchytávať klávesy je ošemetné, pretože existuje množstvo spôsobov, ako meniť obsah toho políčka. Napr. paste z clipboardu, cut do clipboardu, undo ... meniť obsah políčka sa dá aj myšou. atď. atď.

Lepšie bude použiť niečo takéto
JFormattedTextField f=new JFormattedTextField(new DecimalFormat("0.###"));
...
Object v=f.getValue();
if (v!=null && v instanceof Number)
  double d=((Number)v).doubleValue();

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.