У меня есть JPanel
с GridLayout(1,0)
, установленным на JFrame
Borderlayout.SOUTH
, здесь размещена пара кнопок (при нажатии они изменяют значение переменной на индекс созданной кнопки).
Все добавлено правильно, но когда я пытаюсь обновить JPanel
, оно сначала работает (только когда окно развернуто).Но затем, когда я нажимаю кнопку (или все кнопки), она возвращается к исходному содержимому панели.
Я пробовал invalidate
, validate
, repaint
, jframe.setvisible(true)
- ни один из них, кажется, не работает должным образом.
Есть идеи?
private void toonHand(){
JPanel pnlSouth = new JPanel(new GridLayout(1,0));
JButton[] btnArr =new JButton[50];
ArrayList<Kaart> Thand=uno.getSpeler(0).getHand();
for(int i=0;i<Thand.size();i++){
final int T=i;
btnArr[i]=new JButton();
btnArr[i].setIcon(Thand.get(i).getImg());
btnArr[i].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
iKaart=T;
}
});
pnlSouth.add(btnArr[i]);
}
Hoofdvenster.remove(pnlSouth);
Hoofdvenster.add(pnlSouth, BorderLayout.SOUTH);
}