Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Żeby enter klikał domyślny przycisk...

27 views
Skip to first unread message

Smok

unread,
Nov 28, 2009, 10:13:19 AM11/28/09
to
Cze��.
Nie mog� sobie poradzi� z prost� rzecz�. Zrobi�em w NetBeans drobny
programik do nauki tabliczki mno�enia. Chcia�bym, aby zawsze po
klikni�ciu entera jeden (zreszt� jedyny ;) domy�lny przycisk si� naciska�
- znaczy si� �eby dzia�o si� to samo, co po jego naci�ni�ciu. Niezale�nie
od tego �e aktualnym fokusem jest jTextForm. Mo�ecie mi powiedzie� jak to
zrobiďż˝?
Dzi�ki
Smok.

Greg

unread,
Nov 28, 2009, 10:28:24 AM11/28/09
to
Dnia 28-11-2009 o 16:13:19 Smok <mibs_n...@op.pl> napisaďż˝(a):


ja bym obs�u�y� w jTextForm naciskanie klawiszy i sprawdzi� czy wci�ni�to
klawisz enter, je�li tak to uruchamiam funkcj� przycisku

Greg

Smok

unread,
Nov 28, 2009, 2:24:17 PM11/28/09
to
Greg wrote:

> ja bym obs�u�y� w jTextForm naciskanie klawiszy i sprawdzi� czy
wci�ni�to
> klawisz enter, je�li tak to uruchamiam funkcj� przycisku

Dzi�ki.
A �eby nie otwiera� kolejnego w�tku, to mam jeszcze jedn� pro�b�.
Pisa�em ten m�j "wielki" programik i wszystko by�o ok. I nagle gdzie�
co� dopisa�em, �e przy _z�ej_ odpowiedzi zap�tla si�. I kurka wodna
nie mog� doj�� za skarby �wiata gdzie. Bardzo prosz� o podpowied�...
Kod:
public void setNumbers () {
Random rand = new Random();
randint1 = rand.nextInt(10);
randint2 = rand.nextInt(10);
mnoznik1.setText(String.valueOf(randint1));
mnoznik2.setText(String.valueOf(randint2));
}

private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent
evt) {
System.exit(0);
}

private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent
evt) {
runda = 1;
licznik.setText(Integer.toString(runda));
setNumbers();
przyciskOK.setEnabled(true);
wynik.setEnabled(true);
wynik.setText("");
wynik.requestFocus();
licznik.setText("1");
}

private void przyciskOKActionPerformed(java.awt.event.ActionEvent
evt) {
while (runda < 21) {
int wynik1 = Integer.parseInt(wynik.getText());
if (wynik1 == (randint1*randint2)) {
ocena.setText("Poprawnie :)");
if (wynik.isBackgroundSet()) {
wynik.setBackground(Color.WHITE); };
wynik.setText("");
runda = runda + 1;
licznik.setText(Integer.toString(runda));
setNumbers();
wynik.requestFocus();
} else {
ocena.setText("�LE :(");
wynik.requestFocus();
wynik.setBackground(Color.RED);
Toolkit.getDefaultToolkit().beep();
licznik.setText(Integer.toString(runda));
}
}
mnoznik1.setText("?");
mnoznik2.setText("?");
wynik.setEnabled(false);
przyciskOK.setEnabled(false);
ocena.setForeground(Color.GREEN);
ocena.setText("Gratulacje!");
ocena.setBackground(Color.GREEN);
}
Dzi�ki
Smok.

Greg

unread,
Nov 28, 2009, 2:42:19 PM11/28/09
to
podnosisz warto�� zmiennej runka tylko gdy odpowiesz prawid�owo a w
b��dnej warto�ci nie ma zwi�kszenia tej warto�ci chyba �e za�o�ysz �e
u�ytkownik ma odpowiedzie� 21 prawid�owo. Je�li jednak nie to przesu�
zapis runda = runda + 1 przed if(wynik1 == (randint1*randint2))

Greg

Smok

unread,
Nov 28, 2009, 2:50:46 PM11/28/09
to
Greg wrote:


> podnosisz warto�� zmiennej runka tylko gdy odpowiesz prawid�owo a w
> b��dnej warto�ci nie ma zwi�kszenia tej warto�ci chyba �e za�o�ysz �e
> u�ytkownik ma odpowiedzie� 21 prawid�owo. Je�li jednak nie to przesu�
> zapis runda = runda + 1 przed if(wynik1 == (randint1*randint2))
>
> Greg

W�a�nie tak. Za�o�y�em, �e u�ytkownik musi odpowiedzie� 20 razy
prawid�owo. I przy prawid�owych odpowiedziach wszystko gra, a przy
warto�ci nieprawid�owej (false dla wspomnianego IFa) program si� zap�tla.
I nie mam poj�cia czemu.
Smok.

Greg

unread,
Nov 28, 2009, 3:03:18 PM11/28/09
to
Dnia 28-11-2009 o 20:50:46 Smok <mibs_n...@op.pl> napisaďż˝(a):

Ja bym najpierw zachaszowaďż˝ tďż˝ linie
Toolkit.getDefaultToolkit().beep();
i sprawdzi� czy teraz b�dzie dobrze dzia�a� je�li tak to znaczy �e trzeba
spytaďż˝ google o tďż˝ linie

Smok

unread,
Nov 28, 2009, 3:08:42 PM11/28/09
to
Greg wrote:

> Ja bym najpierw zachaszowaďż˝ tďż˝ linie
> Toolkit.getDefaultToolkit().beep();
> i sprawdzi� czy teraz b�dzie dobrze dzia�a� je�li tak to znaczy �e
trzeba
> spytaďż˝ google o tďż˝ linie

Niestety, to nie ona. Wy��cza beep i zap�tlenie nie daje efekt�w
d�wi�kowych (nie ma beepbeepbeebeep ;)) ale niestety samo zap�tlenie
pozostaje jak by�o.
Smok.

Greg

unread,
Nov 28, 2009, 3:18:36 PM11/28/09
to
Dnia 28-11-2009 o 21:08:42 Smok <mibs_n...@op.pl> napisaďż˝(a):

Wie� zostaje ostatnie dziwad�o:
setNumbers();
nie wiem dla czego nie generujesz nowych liczb po b��dnej odpowiedzi.

Greg

Smok

unread,
Nov 28, 2009, 3:31:58 PM11/28/09
to
Greg wrote:

> setNumbers();
> nie wiem dla czego nie generujesz nowych liczb po b��dnej odpowiedzi.

Heh, bo musz� je generowa� w dw�ch przypadkach. Po starcie programu i po
prawid�owej odpowiedzi. Nieprawid�owa nie generuje nowych mno�nik�w, �eby
u�ytkownik musia� prawid�owo odpowiedzie� na ka�de pytanie, cho�by mia�
pr�bowa� wiele razy.
Smok.

0 new messages