Avatar
Philippazdera:

Zdravím,
potřeboval bych poradit. Mám 4 spinnery, které používám k výpočtům, ale rád bych k tomu přidal numerickou klávesnici na obrazovce.
Jakým způsobem lze udělat, aby button1 dal jedničku do spinneru, který je označený kurzorem.

Díky za pomoc.

 
Odpovědět 8.12.2013 16:42
Avatar
Hartrik
Redaktor
Avatar
Odpovídá na Philippazdera
Hartrik:

Vytvoříš si proměnnou objektu JSpinner, která bude obsahovat instanci posledního označeného spinneru. Proměnnou budeš aktualizovat tím, že přidáš listener na focus - http://docs.oracle.com/…istener.html (nebo lépe http://docs.oracle.com/…Adapter.html). Zajímat tě budě metoda focusGained.

Na tlačítko také přidáš příslušný listener a budeš přistupovat k proměnné spinneru...

 
Nahoru Odpovědět 9.12.2013 16:44
Avatar
Odpovídá na Hartrik
Philippazdera:

Díky za odpověď, nicméně funguje mi to u TextFieldu, ale u Spinneru ne. Nejspíš to mám špatně napsané:

N1.addFocusListener(new FocusListener() {

            @Override
            public void focusGained(FocusEvent e) {
            Cal=1;
            }

            @Override
            public void focusLost(FocusEvent e) {
            Cal=0;
            }
        });

Můžeš mi prozradit, co dělám špatně? Díky

Editováno 12.12.2013 20:56
 
Nahoru Odpovědět 12.12.2013 20:56
Avatar
Hartrik
Redaktor
Avatar
Odpovídá na Philippazdera
Hartrik:

Asi jsi si pořádně nepřečetl, co jsem napsal.

private JSpinner spinner1 = ...
private JSpinner spinner2 = ...
private JSpinner spinner3 = ...

private JSpinner last = null;

...

final FocusAdapter listener = new FocusAdapter() {
    @Override
    public void focusGained(FocusEvent e) {
        last = (JSpinner) e.getSource();
    }
};

spinner1.addFocusListener(listener);
spinner2.addFocusListener(listener);
spinner3.addFocusListener(listener);

Teď budeš mát v proměnné last vždy poslední označený spinner.

 
Nahoru Odpovědět 13.12.2013 14:32
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.