Hallo liebe Community,
ich habe vor kurzem mit dem programmieren von richtigen Programmen von Java angefangen, habe jedoch schon einige Erfahrung mit Java aus vorherigen Programmierungen wie z.B. Plugins gesammelt.
Da ich beim programmieren von Anwendungen jedoch noch recht frisch bin habe ich eine Frage. Ich habe ein JFrame mit Buttons erstellt und allem Texturen gegeben. Jetzt möchte ich fortfahren. Dazu soll der Anwender auf einen der Buttons klicken. Jedoch funktioniert das adden der Buttons zu dem ActionListener nicht. Ich habe mir bereits einige Sachen im Netz angeschaut, doch ich habe meinen Fehler nicht gefunden. Das ActionEvent an sich wird ausgeführt, doch wenn ich auf einen der Buttons klicke wird der jeweilige Code für den Button nicht ausgeführt. Ich denke mal das die Buttons nicht dem ActionListener hinzugefügt worden sind, doch wo liegt mein Fehler?
Ich würde mich über Antworten sehr freuen!
Hier mein Code:
[Java]public class Frame extends JFrame implements ActionListener {
private JButton startButton;
private JButton optionenButton;
private JButton schliessenButton;
public static void main(String[] args) throws IOException {
Frame fenster = new Frame("MineJump");
fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenster.setSize(1400,800);
fenster.setResizable(false);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
fenster.setBounds((screenSize.width-1400)/2, (screenSize.height-800)/2, 1400, 800);
Image icon = new ImageIcon(Frame.class.getResource("/Images/icon.png")).getImage();
fenster.setIconImage(icon);
fenster.setVisible(true);
}
public Frame(String titel) {
super(titel);
JPanel panel = new JPanel();
JLabel background = new JLabel(new ImageIcon(Frame.class.getResource("/Images/menu.png")));
background.setBounds(0,0,1400,800);
panel.add(background);
panel.setLayout(null);
JButton startButton = new JButton("Start");
JButton optionenButton = new JButton("Optionen");
JButton schliessenButton = new JButton("Schliessen");
startButton.setBounds(300, 180, 798, 80);
startButton.setIcon(new ImageIcon(Frame.class.getResource("/Images/startButton.png")));
startButton.setRolloverIcon(new ImageIcon(Frame.class.getResource("/Images/startButtonMouseOver.png")));
startButton.setBorderPainted(false);
startButton.addActionListener(this);
optionenButton.setBounds(300, 320, 798, 80);
optionenButton.setIcon(new ImageIcon(Frame.class.getResource("/Images/optionenButton.png")));
optionenButton.setRolloverIcon(new ImageIcon(Frame.class.getResource("/Images/optionenButtonMouseOver.png")));
optionenButton.setBorderPainted(false);
optionenButton.addActionListener(this);
schliessenButton.setBounds(300, 460, 798, 80);
schliessenButton.setIcon(new ImageIcon(Frame.class.getResource("/Images/schliessenButton.png")));
schliessenButton.setRolloverIcon(new ImageIcon(Frame.class.getResource("/Images/schliessenButtonMouseOver.png")));
schliessenButton.setBorderPainted(false);
schliessenButton.addActionListener(this);
add(startButton);
add(optionenButton);
add(schliessenButton);
add(panel);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource() == startButton) {
System.out.println("klappt");
startButton.setBounds(0,0,0,0);
optionenButton.setBounds(0,0,0,0);
schliessenButton.setBounds(0,0,0,0);
} else if(e.getSource() == optionenButton) {
System.out.println("3");
} else if(e.getSource() == schliessenButton) {
System.exit(0);
}
}[/Java]
ich habe vor kurzem mit dem programmieren von richtigen Programmen von Java angefangen, habe jedoch schon einige Erfahrung mit Java aus vorherigen Programmierungen wie z.B. Plugins gesammelt.
Da ich beim programmieren von Anwendungen jedoch noch recht frisch bin habe ich eine Frage. Ich habe ein JFrame mit Buttons erstellt und allem Texturen gegeben. Jetzt möchte ich fortfahren. Dazu soll der Anwender auf einen der Buttons klicken. Jedoch funktioniert das adden der Buttons zu dem ActionListener nicht. Ich habe mir bereits einige Sachen im Netz angeschaut, doch ich habe meinen Fehler nicht gefunden. Das ActionEvent an sich wird ausgeführt, doch wenn ich auf einen der Buttons klicke wird der jeweilige Code für den Button nicht ausgeführt. Ich denke mal das die Buttons nicht dem ActionListener hinzugefügt worden sind, doch wo liegt mein Fehler?
Ich würde mich über Antworten sehr freuen!
Hier mein Code:
[Java]public class Frame extends JFrame implements ActionListener {
private JButton startButton;
private JButton optionenButton;
private JButton schliessenButton;
public static void main(String[] args) throws IOException {
Frame fenster = new Frame("MineJump");
fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenster.setSize(1400,800);
fenster.setResizable(false);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
fenster.setBounds((screenSize.width-1400)/2, (screenSize.height-800)/2, 1400, 800);
Image icon = new ImageIcon(Frame.class.getResource("/Images/icon.png")).getImage();
fenster.setIconImage(icon);
fenster.setVisible(true);
}
public Frame(String titel) {
super(titel);
JPanel panel = new JPanel();
JLabel background = new JLabel(new ImageIcon(Frame.class.getResource("/Images/menu.png")));
background.setBounds(0,0,1400,800);
panel.add(background);
panel.setLayout(null);
JButton startButton = new JButton("Start");
JButton optionenButton = new JButton("Optionen");
JButton schliessenButton = new JButton("Schliessen");
startButton.setBounds(300, 180, 798, 80);
startButton.setIcon(new ImageIcon(Frame.class.getResource("/Images/startButton.png")));
startButton.setRolloverIcon(new ImageIcon(Frame.class.getResource("/Images/startButtonMouseOver.png")));
startButton.setBorderPainted(false);
startButton.addActionListener(this);
optionenButton.setBounds(300, 320, 798, 80);
optionenButton.setIcon(new ImageIcon(Frame.class.getResource("/Images/optionenButton.png")));
optionenButton.setRolloverIcon(new ImageIcon(Frame.class.getResource("/Images/optionenButtonMouseOver.png")));
optionenButton.setBorderPainted(false);
optionenButton.addActionListener(this);
schliessenButton.setBounds(300, 460, 798, 80);
schliessenButton.setIcon(new ImageIcon(Frame.class.getResource("/Images/schliessenButton.png")));
schliessenButton.setRolloverIcon(new ImageIcon(Frame.class.getResource("/Images/schliessenButtonMouseOver.png")));
schliessenButton.setBorderPainted(false);
schliessenButton.addActionListener(this);
add(startButton);
add(optionenButton);
add(schliessenButton);
add(panel);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource() == startButton) {
System.out.println("klappt");
startButton.setBounds(0,0,0,0);
optionenButton.setBounds(0,0,0,0);
schliessenButton.setBounds(0,0,0,0);
} else if(e.getSource() == optionenButton) {
System.out.println("3");
} else if(e.getSource() == schliessenButton) {
System.exit(0);
}
}[/Java]