【发布时间】:2018-05-13 23:47:41
【问题描述】:
我正在尝试在我的 Jframe 中创建一个新的 JTextField。我想玩弄文本字段的定位。我尝试使用 setBounds 和 setLocation 来更改文本框的位置,但它根本不会更改文本框的位置。
这是我的代码:
public class GUI_Tutorial extends JFrame {
public static void main(String[] args) {
GUI_Tutorial frame = new GUI_Tutorial();
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
frame.setSize(1000, 800);
frame.setVisible(true);
frame.setTitle("Calculator");
frame.setLayout(new FlowLayout());
}
public GUI_Tutorial() {
//frame.setLayout(new FlowLayout());
JTextField num1;
num1 = new JTextField(10);
add(num1);
num1.setVisible(true);
num1.setLocation(5, 5);
}
}
我可以知道我做错了什么吗?
【问题讨论】:
-
“我想玩弄定位”你的意思是务实还是拖拉?看看A Visual Guide to Layout Managers
-
@c0der 务实。
-
更改布局的正确方法是使用布局管理器。阅读建议的教程。
-
布局是必须的吗?
-
“布局是必须的吗?” 是的。 Java GUI 必须在不同的操作系统、屏幕尺寸、屏幕分辨率等上使用不同地区的不同PLAF。因此,它们不利于像素完美布局。而是使用布局管理器,或 combinations of them 以及 white space 的布局填充和边框。
标签: java swing layout-manager