Java按钮没有出现在JPanel中

时间:2013-09-16 22:51:44

标签: java swing jbutton

只有当我在不可见按钮上传递鼠标时,按钮才会出现在我的JPanel中...

那不是我的代码。所以,我的代码似乎没问题,但没有出现在我的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();
}

2 个答案:

答案 0 :(得分: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(); 

}

答案 1 :(得分:0)

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

button.setLocation(100, 140);

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