Java 设置JButton的位置永远不起作用?
我试图创建一个按钮并将其放置在某个位置,但由于某些原因,它从未进入该特定位置。我试着把它放在一个面板上,用背景,用设置位置。。。但它似乎不起作用 我正在另一个文件中运行此文件Java 设置JButton的位置永远不起作用?,java,location,jbutton,Java,Location,Jbutton,我试图创建一个按钮并将其放置在某个位置,但由于某些原因,它从未进入该特定位置。我试着把它放在一个面板上,用背景,用设置位置。。。但它似乎不起作用 我正在另一个文件中运行此文件 public class Inventory extends JPanel { private final static int frameWidth = 200; private final static int frameHeight = 500; private final static int s
public class Inventory extends JPanel
{
private final static int frameWidth = 200;
private final static int frameHeight = 500;
private final static int screenLocationX = 100;
private final static int screenLocationY = 50;
private Panel panel;
private JFrame frame;
private JPanel jpanel;
public Inventory()
{
panel = new Panel();
frame = new JFrame();
JButton button = new JButton("Add Gem");
button.addActionListener(new Listener());
button.setPreferredSize(new Dimension(frameWidth,50));
// button.setLocation(0,400);
// button.setBounds(0,400,frameWidth,50);
panel.setVisible(true);
frame.setContentPane(panel);
frame.add(button);
frame.setVisible(true);
frame.setSize(frameWidth, frameHeight);
frame.setLocation(screenLocationX, screenLocationY);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
}
private class Listener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
panel.addImage(new Gems());
}
}
}
你需要关掉LayoutManager
panel.setLayout(空)代码>JFrame
默认情况下使用边框布局
,默认情况下,组件添加到边框布局.CENTER
位置,除非另有规定
在此设置中,部件将放置在框架的中心,并调整尺寸以填充框架
请记住,每个平台/操作系统呈现内容的方式不同,这些差异将改变显示组件所需的空间量,所有这些都将影响所有其他组件之间的关系
您考虑更改布局管理器并使用EMPTILLATION> /代码>和插入/填充来影响组件的位置/大小。尝试类似于GridBagLayout
的方法,或者如果您喜欢冒险,请查看MigLayout
使用GUI程序(几乎在任何平台上)需要学习的第一个课程之一是像素完美布局是一种错觉,有太多的变量影响内容的呈现方式,以及这些变量如何改变各个组件正确显示所需的空间量…在将面板添加到框架之前使用:
panel.setLayout(空)//将面板的默认设置设置设置为null
然后使用:
按钮.立根(300300300300)//在特定位置绑定按钮
这会有用的