当我运行此代码时,按钮显示在JPanel上,但是一旦我点击按钮,就没有任何反应。关于我在哪里出错的任何建议?对不起,如果真的很简单。在GUI方面,我相当新。
final JPanel card3 = new JPanel();
//Tetris setup
JButton startGame = new JButton("START GAME");
card3.setLayout(new GridBagLayout());
GridBagConstraints gbc2 = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = 0;
gbc.insets = new Insets(2,2,2,2);
card3.add(startGame, gbc2);
gbc.gridy = 1;
startGame.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Tetris game = new Tetris();
JTable table = new JTable(game.getNumRows(), game.getNumCols());
card3.add(table);
}
});
答案 0 :(得分:2)
通常,您将表添加到JScrollPane,然后将滚动窗格添加到面板。这样您就会自动获得表头。
将组件添加到可见GUI时,您需要以下代码:
panel.add( scrollPane );
panel.revalidate();
这将导致调用布局管理器,它可以再次布局所有组件。