Hi,
also ich habe ein kleines Problem mit meinem unten aufgeführten Code. Und zwar soll ein Bild ausgegeben werden, wenn ein Button angeklickt wird. Bei mir muss der Button allerdings zwei Mal angeklickt werden, bis das Bild angezeigt wird. Ich kann mir aber nicht erklären warum. Zum Test habe ich es mit zwei Buttons und zwei Bildern gemacht, bei beiden ist es aber dasselbe: Anzeige erst nach zweitem Klick.
Die Hauptdatei sieht folgendermaßen aus:
also ich habe ein kleines Problem mit meinem unten aufgeführten Code. Und zwar soll ein Bild ausgegeben werden, wenn ein Button angeklickt wird. Bei mir muss der Button allerdings zwei Mal angeklickt werden, bis das Bild angezeigt wird. Ich kann mir aber nicht erklären warum. Zum Test habe ich es mit zwei Buttons und zwei Bildern gemacht, bei beiden ist es aber dasselbe: Anzeige erst nach zweitem Klick.
Java:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class gui extends JFrame {
private JButton button1 = new JButton("Click1");
private JButton button2 = new JButton("Click2");
private JLabel label1 = new JLabel();
private JLabel label2 = new JLabel();
public gui(){
setLayout(new FlowLayout());
setTitle("Test");
setSize(800,600);
setResizable(false);
add(button1);
button1.addActionListener(new buttonhandler());
add(button2);
button2.addActionListener(new buttonhandler());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
private class buttonhandler implements ActionListener{
public void actionPerformed(ActionEvent e) {
if(e.getSource() == button1){
label1.setBounds(479, 223, 100, 160);
label1.setIcon(new ImageIcon("Bild1"));
add(label1);
} else {
}
if(e.getSource() == button2){
label2.setIcon(new ImageIcon("Bild2"));
label2.setBounds(452, 249, 100, 160);
add(label2);
} else {
}
}
}
}
Die Hauptdatei sieht folgendermaßen aus:
Java:
public class haupt {
public static void main(String[] args){
new gui();
}
}