问题是我无法将按钮放置在想要的位置。所以我写了这段代码来再次设置位置:
button.setLocation(new Point(100, 60));
import javax.swing.*;
import java.awt.*;
public class gui {
public static void main(String [] args){
JFrame frame = new JFrame();
JPanel panel = new JPanel();
panel.setBackground(Color.ORANGE);
frame.add(panel);
JButton button = new JButton("Button");
button.setPreferredSize(new Dimension(200,25));
button.setLocation(new Point(100, 60));
panel.add(button);
frame.setSize(new Dimension(500,400));
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("GUI App");
frame.setResizable(false);
frame.setVisible(true);
}
}
答案 0 :(得分:0)
您必须使用setBounds()方法!此方法需要4个参数:x和y坐标以及按钮应具有的宽度和高度。另外,您必须将Layout设置为null。因此,请尝试以下操作:
button.setBounds(100, 60, 100, 50) //just an example
frame.setLayout(null)
答案 1 :(得分:0)
将以下内容添加到您的组件中:
//JPanel layout
panel.setLayout(null);
// postioning
button.setLocation(100,60);
与panel.setLayout(null)
一样,将内容面板设置为使用绝对布局。始终需要使用setBounds
方法来显式设置组件的边界。
比使用绝对布局,最好选择here最合适的布局。
例如:panel.setLayout(new FlowLayout());