0

这些按钮没有出现在我的 JPanel 中,只有当我将鼠标移到 Invisible Button 上时...

那不是我的代码。所以,我的代码似乎没问题,但没有出现在我的 JPanel 中......我只是试图重新验证并重新绘制 JPanel,但什么也没发生......

for (int i; i < 5; i++) {
  JButton button = new JButton();
  button.setText("" + i);
  button.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent ae) { 

       System.out.print("\n Test: " + ae.getActionCommand());

     } 
  });
  button.setSize(60,20);
  button.setLocation(100, 140);
  button.setVisible(true);
  this.add(button);
  this.revalidate();
  this.repaint();
}
4

2 回答 2

1

如果有人有这个问题...

只需输入: button.requestFocusInWindow(); // 在方法的最后一行...

像那样:

for (int i; i < 5; i++) {
JButton button = new JButton();
button.setText("" + i);
button.addActionListener(new ActionListener() {
 public void actionPerformed(ActionEvent ae) { 

   System.out.print("\n Test: " + ae.getActionCommand());

 } 
});
button.setSize(60,20);
button.setLocation(100, 140);
button.setVisible(true);
this.add(button);
this.revalidate();
this.repaint();
button.requestFocusInWindow(); 

}

于 2013-09-16T23:11:03.413 回答
0

您将所有 5 个按钮设置为具有完全相同的位置:

button.setLocation(100, 140);

您根本不需要它,让面板的布局管理器为您处理。

于 2013-09-16T23:07:57.437 回答