import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.SwingUtilities; public class SimpleExample extends JFrame { public SimpleExample() { setTitle("Simple example"); setSize(500, 500); setLocationRelativeTo(null); setDefaultCloseOperation(EXIT_ON_CLOSE); JButton jb = new JButton("TEST"); jb.setBorderPainted(true); jb.setBounds(5, 5, 1, 1); ---> This line add(jb); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { SimpleExample ex = new SimpleExample(); ex.setVisible(true); } }); } }
只需创建一个首选大小的简单按钮即可。该setBounds方法似乎不起作用。我要去哪里错了?
setBounds
您的框架受布局管理器的控制,它正在决定如何最好地布局组件,并覆盖您使用所指定的值 setBounds
现代GUI需要在各种不同的图形环境中运行(甚至在同一OS上),例如,包括不同的DPI,屏幕大小和字体设置。
布局管理器使您不必担心(减少)这些问题,强烈建议您使用它们
看一眼
更多细节