我只想通过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);
}
}
答案 0 :(得分:1)
按钮的位置还取决于您当前使用的布局。这是一个Vusual Guide to Layout,可以帮助您确定最符合要求的布局。
答案 1 :(得分:0)
使用setLayout(null)
,它有效!
答案 2 :(得分:0)
您正在扩展JPanel,因此使用JPanel的默认构造函数,默认情况下LayoutManager无论如何都是FlowLayout! 因此,如果您真的想使用NullLayout,可以将其添加到您的班级中:
public Panneau_fenetre1A()
{
super(null);
}
但是认真考虑其他布局管理器,例如BorderLayoutManager(super(new BorderLayout()))是一个好的开始。
在设计对话框时,请记住您可以并且应该嵌套布局:一个JPanel在另一个JPanel中(例如BorderLayout中的GridLayout)。请注意:a' good'对话框应正确调整大小,以便在用户调整框架大小时,您希望自动扩展信息对象(如表格),而不显示大面积的JPanel背景。这是你用NullLayout无法实现的东西。