JRadioButton – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

JRadioButton – Java – Fórum – Programujte.comJRadioButton – Java – Fórum – Programujte.com

 

roman.jaros0
Newbie
18. 8. 2010   #1
-
0
-

Zdravím,
při psaní programu jsem narazil na věc, kterou si neumím vysvětlit. Mohl by mi někdo pomoct ? Zde je ukázka kódu :



public void actionPerformed (ActionEvent event) {
if (event.getSource() == start) {

if (event.getSource() == mm) {
vypis.setText(cislo.getText());
}
}

start je JButton a mm je JRadioButton, vypis je JTextArea a cislo je JTextField
Myslel jsem si, že když označím "mm" a kliknu na "start" tak se mi ve "vypis" ukáže to co napíšu do "cislo", ale není tomu tak. Mohl by mi někdo prosím pomoct s řešením, Děkuji za každou radu.

Nahlásit jako SPAM
IP: 90.177.76.–
zdenda
~ Anonymní uživatel
257 příspěvků
18. 8. 2010   #2
-
0
-

Máš tam dvě podmínky a obě musí být splněny, aby se ten text nastavil.
Jak se zdroj té události může rovnat 'start' a zároveň 'mm' ?

Nahlásit jako SPAM
IP: 213.211.51.–
roman.jaros0
Newbie
18. 8. 2010   #3
-
0
-

, to jsem chtěl udělat, ale když to napíšu takhle :



if (event.getSource() == mm && start) {
.....
}

Jde o to, že ke tlačítku jako je mm, se přidá i cm, dm, m, km, No a když by se označili a kliklo se na start, tak by se mělo cislo vitisknout.

Už jsem na to přišel. Ke tlačítku JRadioButton se nepřiřazuje ActionListener, ale ItemLitener. Zajímalo by mne, jak to dám do sebe. Abych jsem měl v jedne trde ActionListener a ItemListener ?

Nahlásit jako SPAM
IP: 90.177.76.–
roman.jaros0
Newbie
18. 8. 2010   #4
-
0
-

Aha, tak jsem na to přišel. Vyřešil jsem to takhle :



class OknoDelkaRadio implements ItemListener, ActionListener {


......

public void itemStateChanged(ItemEvent state) {

if (state.getItem() == mm) {
vypis.setText(cislo.getText()+"mm");
}
if (state.getItem() == cm) {
vypis.setText(cislo.getText()+"cm");
}
if (state.getItem() == dm) {
vypis.setText(cislo.getText()+"dm");
}
if (state.getItem() == m) {
vypis.setText(cislo.getText()+"m");
}
if (state.getItem() == km) {
vypis.setText(cislo.getText()+"km");
}

}
public void actionPerformed(ActionEvent event) {

if (event.getSource() == start) {
vypis.setText(" start aktivovan");
}
}

Nahlásit jako SPAM
IP: 90.177.76.–
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
19. 8. 2010   #5
-
0
-

      if (event.getSource() == mm && start) {

.....
}


To by bylo takhle
      if (event.getSource() == mm && event.getSource() == start) {

.....
}
Ale to, co jsem chtěl říct bylo, že jsi vyžadoval platnost dvou podmínek, které se vzájemně vylučují. Jako kdybys napsal
if (a == 1 && a == 2)
a je buď 1, nebo 2 (nebo něco jiného), ale nikdy 1 a 2 zároveň.

Nahlásit jako SPAM
IP: 213.211.51.–
zdenda
~ Anonymní uživatel
257 příspěvků
19. 8. 2010   #6
-
0
-

Hopla, trochu jsem zmršil formátování. Vraťte možnost náhledu před odesláním.

Nahlásit jako SPAM
IP: 213.211.51.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 13 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý