Chtek bych se zeptat, kdyz mam ve framu vic button a potrebuju reagovat podle toho kterej button byl zmacknut, jak by se to naimplementovalo?
dik za radu
událost kliknutí pro každej button nasměruješ do jedný události (jedný funkce) a jako identifikaci použiješ jejich názvy objektu
// volá se při stisknutí nějakého tlačítka
public void actionPerformed(ActionEvent evt) {
Object src = evt.getSource();
if (src == button1) {
// neco...
} else if (src == button2) {
// neco...
}
}
#5 mitt
však jsem ti psal, že všechny tlačítka propojíš s jednou událostí "actionPerformed", kde si potom jen zjistíš o jaký tlačítko šlo
jestli máš počet tlačítek statickej nebo dyn. na tom nic nemění
public class MainFrame extends JFrame implements MouseListener {
JButton btn1 = new JButton("Button 1");
JButton btn2 = new JButton("Button 2");
public MainFrame() {
initComponents();
btn1.setName("b1"); // slouží jako identifikátor pro Button 1
btn1.setSize(100, 30);
btn2.setName("b2"); // slouží jako identifikátor pro Button 2
btn2.setSize(100, 30);
btn2.setLocation(100, 0);
btn1.addMouseListener(this);
btn2.addMouseListener(this);
add(btn1);
add(btn2);
}
@Override
public void mouseClicked(MouseEvent e) {
JButton btn = (JButton) e.getSource();
switch (btn.getName()) {
case "b1":
setTitle("Button 1"); // když se klikne na Button 1
break;
case "b2":
setTitle("Button 2"); // když se klikne na Button 2
break;
}
}
@Override
public void mousePressed(MouseEvent e) {
}
@Override
public void mouseReleased(MouseEvent e) {
}
@Override
public void mouseEntered(MouseEvent e) {
}
@Override
public void mouseExited(MouseEvent e) {
}
// generovanej kód přes desinger
}
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku