Hallo
ich habe in einer Klasse ein Frame erstellt mit Menü.
Je nachdem welcher Eintrag im Menu geklickt wird, soll ein anderes Panel dem Frame hinzugefügt werden.
Speziell soll es einmal ein 9x9 Sudokufeld sein, und ein anderes mal ein 16x16 Sudokufeld.
Der "Ordnung" halber habe ich alle Events in einer anderen Klasse ausgelagert.
Nur wie kann ich der der Klasse "Events" sagen was frame1 ist ?
Danke schon mal für jede Hilfestellung.
ich habe in einer Klasse ein Frame erstellt mit Menü.
Je nachdem welcher Eintrag im Menu geklickt wird, soll ein anderes Panel dem Frame hinzugefügt werden.
Speziell soll es einmal ein 9x9 Sudokufeld sein, und ein anderes mal ein 16x16 Sudokufeld.
Der "Ordnung" halber habe ich alle Events in einer anderen Klasse ausgelagert.
Nur wie kann ich der der Klasse "Events" sagen was frame1 ist ?
Danke schon mal für jede Hilfestellung.
Java:
import javax.swing.*;
public class Frame {
public static void main(String[] args) {
JFrame frame1 = new JFrame("Sudoku Solver");
frame1.setSize(500,500);
frame1.setResizable(false);
frame1.setLocationRelativeTo(null);
frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JMenuBar menubar = new JMenuBar();
frame1.setJMenuBar(menubar);
JMenu programm = new JMenu("Programm");
menubar.add(programm);
JMenuItem exit = new JMenuItem("Beenden");
programm.add(exit);
exit.addActionListener(new Events.exitaction());
JMenu varianten = new JMenu("Varianten");
menubar.add(varianten);
JMenu sudokun = new JMenu("Sudoku - normal");
JMenuItem sudokun9mal9 = new JMenuItem("9x9 Sudokufeld");
JMenuItem sudokun16mal16 = new JMenuItem("16x16 Sudokufeld");
sudokun.add(sudokun9mal9);
sudokun9mal9.addActionListener(new Events.sudokun9mal9());
sudokun.add(sudokun16mal16);
JMenuItem sudokuk = new JMenuItem("Killersudoku");
varianten.add(sudokun);
varianten.add(sudokuk);
frame1.setVisible(true);
}
}
Java:
import java.awt.event.*;
import javax.swing.*;
public class Events {
static class exitaction implements ActionListener{
public void actionPerformed (ActionEvent e){
System.exit(0);
}
}
static class sudokun9mal9 implements ActionListener{
public void actionPerformed (ActionEvent e){
JPanel panel = new JPanel();
frame1.add(panel); // hier ist das Problem
JLabel label = new JLabel("test");
panel.add(label);
}
}
}