Kann mir jemand sagen, warum nach Aufruf der Methode getContentPane(). Add (grid [i] [j]) Ich kann die Matrix von JLabels nicht anzeigen. Es wird nur ein "e" -Label angezeigt.Anzeige der JLabel-Matrix
public class SudokuFrame erweitert JFrame implements Action {
JButton generateButton;
JLabel[][] grid;
public SudokuFrame(){
setSize(300, 300);
setTitle("Sudoku");
setLayout(null);
generateButton = new JButton("Generate");
generateButton.setBounds(90, 220, 100, 30);
add(generateButton);
generateButton.addActionListener(this);
grid = new JLabel[9][9];
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
grid[i][j] = new JLabel("e");
grid[i][j].setBounds(100, 100, 30, 30);
getContentPane().add(grid[i][j]);
}
}
}
public static void main(String[] args){
SudokuFrame frame = new SudokuFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
(1+) Lesen Sie den Abschnitt aus den Swing-Tutorial auf [Wie Gridlayout verwendet] (http://docs.oracle.com/javase/tutorial/uiswing/layout/grid .html) für Arbeitsbeispiele. Die Beispiele zeigen auch eine bessere Möglichkeit, Ihre GUI zu erstellen und den Code so zu strukturieren, dass die Komponenten im Ereignis-Dispatch-Thread erstellt werden. Halten Sie einen Link zum Tutorial bereit, da es Beispiele für alle Swing-Grundlagen enthält. – camickr
Layouts, Layouts, Layouts +1 – MadProgrammer