0

我只是想通过 setBounds 方法放置我的 JButton。但是无论这个方法的参数是什么,按钮都在顶部的中间。

这是我的代码:

import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

class Panneau_fenetre1A extends JPanel                      
{ 
    JButton boutonOK = new JButton ("OK");


    public Panneau_fenetre1A(int Na)
    {
        boutonOK.setBounds(300,300,30,30);
        add(boutonOK);

    }

}
4

3 回答 3

1

按钮的位置还取决于您当前使用的布局。这是一个Vusual 布局指南,可帮助您确定满足您要求的最佳布局。

于 2012-08-07T19:13:31.593 回答
1

有了setLayout(null),它的工作原理!

于 2012-08-07T19:32:18.863 回答
0

您正在扩展 JPanel,因此使用了 JPanel 的默认构造函数,并且无论出于何种原因,默认的LayoutManager都是 FlowLayout !因此,如果您真的想使用 NullLayout,可以将其添加到您的类中:

  public Panneau_fenetre1A()
  {
    super(null);
  }

但认真考虑其他布局管理器,例如 BorderLayoutManager (super(new BorderLayout())) 是一个好的开始。

在设计对话框时,请记住您可以并且应该嵌套布局:一个 JPanel 位于另一个 JPanel 中(例如,GridLayout 位于 BorderLayout 中)。请注意:“好的”对话框应该正确调整大小,这样如果用户调整 Frame 的大小,您希望自动扩展您的信息对象,例如您的表格,而不是显示大面积的 JPanel 背景。这是使用 NullLayout 无法实现的。

于 2017-06-07T09:53:57.537 回答