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

Java swing - JButton – Java – Fórum – Programujte.comJava swing - JButton – Java – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
petr1430
Newbie
30. 1. 2014   #1
-
0
-

Ahoj 

Zrovna dělám program, kde bude min. 50 JButton. Potřebuji zjišťovat na které z nich se kliknulo. Mam použít MouseListener, ActionListener a nebo něco jiného ? 

Díky :D

Nahlásit jako SPAM
IP: 109.235.2.–
z
~ Anonymní uživatel
268 příspěvků
30. 1. 2014   #2
-
0
-

ActionListener

Nahlásit jako SPAM
IP: 78.156.159.–
petr1430
Newbie
30. 1. 2014   #3
-
0
-

A jak mam zjistit na jaké tlačítko se kliknulo ? Vytvářím je přes "for" cyklus. 

Nahlásit jako SPAM
IP: 109.235.2.–
Kit+15
Guru
30. 1. 2014   #4
-
0
-

#3 petr143
Nic nezjišťuj, prostě ke každému tlačítku přidej jeho obsluhu.

Nahlásit jako SPAM
IP: 46.174.34.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
petr1430
Newbie
30. 1. 2014   #5
-
0
-

Promin, ale ve swingu toho moc neumim, mohl bys mi poradit jak ?

Nahlásit jako SPAM
IP: 109.235.2.–
Kit+15
Guru
30. 1. 2014   #6
-
0
-

#5 petr143
Přímo v tom cyklu ke každému tlačítku přidej ActionListener s tím, co se má při kliknutí vykonat.

Nahlásit jako SPAM
IP: 46.174.34.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
petr1430
Newbie
30. 1. 2014   #7
-
0
-

Vždy se mi text napíše na poslední tlačítko co mám dělat ? 

for(int i = 0; i < vyst.length; i++) {
    	znacky = new JButton(Integer.toString(i));
    	
        znacky.setIcon(new ImageIcon("C://Users//PC//workspace//Znacky//res//Vyst//" + vyst[i] ));
        	
    	second.add(znacky);     
    
    	znacky.addActionListener(new ActionListener(){

			@Override
			public void actionPerformed(ActionEvent e) {
				znacky.setText("Klikli jste na mě !");
			}
    		
    	});

	
    } 	
Nahlásit jako SPAM
IP: 109.235.2.–
Kit+15
Guru
30. 1. 2014   #8
-
0
-

#7 petr143
Však objekt "znacky" je poslední tlačítko. Dělá to správně, akorát by se neměl jmenovat "znacky", ale "znacka", aby sis nemyslel, že je to nějaká kolekce.

Nahlásit jako SPAM
IP: 46.174.34.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
petr1430
Newbie
30. 1. 2014   #9
-
0
-

Ok už jsem si to přejmenoval a zkusil jsem i e.getID() a pořád to vyhazuje hodnotu 1001

  for(int i = 0; i < vyst.length; i++) {
    	znacka = new JButton(Integer.toString(i));
    	
        znacka.setIcon(new ImageIcon("C://Users//PC//workspace//Znacky//res//Vyst//" + vyst[i] ));
        	
    	second.add(znacka);     
    
    	znacka.addActionListener(new ActionListener(){

			@Override
			public void actionPerformed(ActionEvent e) {
				text.setText("Klikli jste na " + e.getID());
			}
    		
    	});
    } 	
Nahlásit jako SPAM
IP: 109.235.2.–
Kit+15
Guru
30. 1. 2014   #10
-
0
-

#9 petr143
Co dělá objekt "text", kterému spouštíš metodu setText()?

Nahlásit jako SPAM
IP: 46.174.34.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
petr1430
Newbie
30. 1. 2014   #11
-
0
-

Je to jen JLabel do kterýho vypisuju to ID.

Nahlásit jako SPAM
IP: 109.235.2.–
Řešení
Kit+15
Guru
30. 1. 2014   #12
-
+1
-
Zajímavé
Vyřešeno Nejlepší odpověď

#11 petr143
A co třeba e.getSource()?

Nahlásit jako SPAM
IP: 46.174.34.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
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ů

Podobná vlákna

Java Swing — založil Falcon1651

Java swing TImer — založil Anonym

Java, Swing - tabulka — založil BlueGhost

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ý