P
Pelpetin
Gast
Hallo liebe Community,
Ich habe ein Problem, wobei ihr mir hoffentlich helfen könnt.
Ich will ein kleines Spiel programmieren, dazu brauche ich ein Fenster. In dem Fenster soll ein Label für die Statistik zuständig sein, dann brauche ich 2 Buttons und einen Spielfeldbereich. Soweit alles vorhanden in folgendem Konstruktor:
Die JList soll mein Spielfeld sein. Ich will nun in dem Spielfeld etwas zeichen, wenn ich nun die paint()-Methode überschreibe, zeichnet er nur die Inhalte der paint()-Methode, nicht aber die Buttons, das Spielfeld oder die Statistik. Kann mir einer erklären, wie ich in der Liste Sachen zeichnen kann, ohne meinen anderen Komponenten zu verlieren. Ein Beispiel-Code wäre nett.
Danke
MfG Pelpetin
Ich habe ein Problem, wobei ihr mir hoffentlich helfen könnt.
Ich will ein kleines Spiel programmieren, dazu brauche ich ein Fenster. In dem Fenster soll ein Label für die Statistik zuständig sein, dann brauche ich 2 Buttons und einen Spielfeldbereich. Soweit alles vorhanden in folgendem Konstruktor:
Code:
public Engine()
{
//Titel des Frames
super("Nibbles");
//default-settings des Frames
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(800, 600);
//Menübar
JMenuBar mbar = new JMenuBar();
//Menüleisten
JMenu datei = new JMenu("Datei");
JMenu optionen = new JMenu("Optionen");
JMenu hilfe = new JMenu("Hilfe");
//Menüpunkte
JMenuItem speichern = new JMenuItem("speichern");
JMenuItem laden = new JMenuItem("laden");
JMenuItem beenden = new JMenuItem("beenden");
JMenuItem grafik = new JMenuItem("Grafikeinstellungen");
JMenuItem credits = new JMenuItem("Über");
//Menüpunkte der Menüleiste hinzufügen
datei.add(speichern);
datei.add(laden);
datei.add(beenden);
optionen.add(grafik);
hilfe.add(credits);
//Short-Cuts für die einzelnen Menüpunkte definieren
speichern.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_MASK));
laden.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_L, InputEvent.CTRL_MASK));
//setzen der Actionlistener für die einzelnen Buttons aus dem Menü
speichern.addActionListener(this);
laden.addActionListener(this);
beenden.addActionListener(this);
grafik.addActionListener(this);
credits.addActionListener(this);
//Menüleiste zum Menü hinzufügen
mbar.add(datei);
mbar.add(optionen);
mbar.add(hilfe);
//setzen der Menüleiste
setJMenuBar(mbar);
//Inhalt des Frames
panel_feld = new JPanel(new GridLayout());
panel_statistik = new JPanel(new BorderLayout());
panel_button = new JPanel(new GridLayout());
button_start = new JButton("start");
button_pause = new JButton("pause");
lbl_statistik = new JLabel("<html>Statistik
</html>");
txt_feld = new JTextArea();
list_feld = new JList();
addButtonListener(button_start);
addButtonListener(button_pause);
panel_button.add(button_start, BorderLayout.WEST);
panel_button.add(button_pause, BorderLayout.EAST);
panel_statistik.add(lbl_statistik);
//panel_feld.add(txt_feld);
panel_feld.add(list_feld);
content.add(panel_button, BorderLayout.SOUTH);
content.add(panel_statistik, BorderLayout.WEST);
content.add(panel_feld, BorderLayout.CENTER);
setVisible(true);
}
Die JList soll mein Spielfeld sein. Ich will nun in dem Spielfeld etwas zeichen, wenn ich nun die paint()-Methode überschreibe, zeichnet er nur die Inhalte der paint()-Methode, nicht aber die Buttons, das Spielfeld oder die Statistik. Kann mir einer erklären, wie ich in der Liste Sachen zeichnen kann, ohne meinen anderen Komponenten zu verlieren. Ein Beispiel-Code wäre nett.
Danke
MfG Pelpetin