У меня есть компонент, унаследованный от JPanel, я рисую сетку на Это. Теперь у меня есть JComboBox, и я хочу, чтобы пользователь мог выбрать здесь размер сетки, а затем нажать кнопку, чтобы изменить сетку (перерисовать сетку).
Дело в том, что он рисует исходную сетку, но один раз пользователь выбирает размер сетки из JComboBox и нажимает кнопку, ничего не происходит. Мне нужно свернуть форму, а затем восстановить ее снова, чтобы увидеть изменения.
Есть идеи? Код приведен ниже.
public class Board extends JPanel {
...
protected void paintComponent(Graphics og) {
super.paintComponent(og);
...
}
}
}
public class Main extends javax.swing.JFrame {
...
public Main() { //This works great.
board = new Board( ... );
somePanel.add(board, BorderLayout.CENTER);
}
public void someButtonActionPerformed(Event e) { //This is not working
somePanel.remove(board);
board = new Board( ... );
somePanel.add(board);
somePanel.invalidate()
board.repaint();
}