Guten Tag liebe Community
Ich habe eine kurze Frage, die ich so auch nicht in der Suche gefunden habe @.@ Kurz aber knackig: Ich möchte ein erstelltes JButton bzw. mehrere fest in einem Frame verankern. Momentan sieht mein Code wie folgt aus:
Das ganze funktioniert auch soweit ganz gut, aber wenn ich das Programm ausführe, dann erstellt er mir ein Frame und dazu noch ein separates (!) Fenster mit dne Buttons. Dabei würde ich die gerne in dem neuerstellten Frame einbinden. Womöglich gibt es dafür einen bestimmten setLayout-Befehl, den ich gerade nicht in der API finde ...
2. kleine Nebenfrage:
Beim 3. Code erscheinbt bei public class MeinButton [...] beim Namen MeinButton folgender Hinweis:
"The serializable class MeinButton does not declare a static final serialVersionUID field of type long"
Ein stilistischer Fehler? Ich bin mir nicht sicher, was mir Eclipse damit sagen will
Grüße
Ich habe eine kurze Frage, die ich so auch nicht in der Suche gefunden habe @.@ Kurz aber knackig: Ich möchte ein erstelltes JButton bzw. mehrere fest in einem Frame verankern. Momentan sieht mein Code wie folgt aus:
Java:
public class Hauptmenü {
public static void main(String[] args){
MeinFrame fenster = new MeinFrame("Hauptmenü!");
fenster.setBounds(0,0,800,1000);
fenster.setVisible(true);
MeinButton menubutton = new MeinButton("Kontakt");
menubutton.setVisible(true);
menubutton.setSize(500,150);
}
}
Java:
import javax.swing.*;
import java.awt.*;
public class MeinFrame extends JFrame {
JFrame fenster;
public MeinFrame(String title){
super(title);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().setBackground(Color.green);
repaint();
//JLabel backImgPanel = new JLabel(new ImageIcon("C:/Users/Lucass/Pictures/PM/AA5.jpg"));
//add(backImgPanel);
}
}
Java:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class MeinButton extends JFrame implements ActionListener {
JButton kontakt;
JButton hilfe;
JButton start;
public MeinButton(String title){
super(title);
JButton kontakt = new JButton("Kontakt?");
JButton hilfe = new JButton("Hilfe?");
JButton start = new JButton("Start!");
kontakt.setVisible(true);
hilfe.setVisible(true);
start.setVisible(true);
kontakt.setBounds(200,800,100,100);
hilfe.setBounds(300,700,150,150);
start.setBounds(250,750,200,200);
kontakt.setActionCommand("kontakt");
hilfe.setActionCommand("hilfe");
start.setActionCommand("start");
kontakt.addActionListener( this );
hilfe.addActionListener(this);
start.addActionListener(this);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new FlowLayout());
add(kontakt);
add(hilfe);
add(start);
}
public void actionPerformed(ActionEvent evt){
if(evt.getActionCommand().equals("kontakt")){
MeinFrame kontakt = new MeinFrame("Kontaktseite");
kontakt.setBounds(0,0,200,200);
kontakt.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
kontakt.setVisible(true);
JLabel inhalt = new JLabel("Hier folgen alle Informationen zur Kommunikation!");
add(inhalt);
}
if(evt.getActionCommand().equals("hilfe")){
MeinFrame hilfe = new MeinFrame("Die Hilfeseite!");
hilfe.setBounds(0,0,200,200);
hilfe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
hilfe.setVisible(true);
JLabel inhalt = new JLabel("Hilfe finden Sie hier!");
add(inhalt);
}
if(evt.getActionCommand().equals("start")){
MeinFrame start = new MeinFrame("Spiel");
start.setBounds(0,0,200,200);
start.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
start.setVisible(true);
JLabel inhalt = new JLabel("Hier findet das Spiel statt!");
add(inhalt);
}
}
}
Das ganze funktioniert auch soweit ganz gut, aber wenn ich das Programm ausführe, dann erstellt er mir ein Frame und dazu noch ein separates (!) Fenster mit dne Buttons. Dabei würde ich die gerne in dem neuerstellten Frame einbinden. Womöglich gibt es dafür einen bestimmten setLayout-Befehl, den ich gerade nicht in der API finde ...
2. kleine Nebenfrage:
Beim 3. Code erscheinbt bei public class MeinButton [...] beim Namen MeinButton folgender Hinweis:
"The serializable class MeinButton does not declare a static final serialVersionUID field of type long"
Ein stilistischer Fehler? Ich bin mir nicht sicher, was mir Eclipse damit sagen will
Grüße