【发布时间】:2014-04-10 00:12:24
【问题描述】:
为什么文本字段没有出现在我框架内的面板上? 我的意思是是否需要一些额外的操作来制作面板的组件 可见吗?
希望有人能帮帮我....
public class example1 {
public static void main(String[] args) {
JFrame tt=new TT();
}
}
class TT extends JFrame {
JTextField textField;
JPanel panel;
JButton button1;
JButton button2;
public TT() {
setSize(300, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setTitle("Bla Blubb");
setResizable(false);
setLayout(null);
panel=new JPanel();
panel.setBounds(5, 5, 290, 290);
add(panel);
textField=new JTextField();
textField.setBounds(5, 5, 280, 50);
panel.add(textField);
setVisible(true);
}
}
【问题讨论】:
-
setLayout(null);1) Java GUI 可能必须在多个平台、不同的屏幕分辨率和使用不同的 PLAF 上工作。因此,它们不利于组件的精确放置。要为强大的 GUI 组织组件,请改用布局管理器或 combinations of them,以及 white space 的布局填充和边框。 2) 提供 GUI 的 ASCII 艺术(或带有简单绘图的图像),因为它应该以最小尺寸出现,并且(如果可调整大小)具有额外的宽度/高度。 -
我知道 layoutmanager 更好,它只用于培训......但是我不明白为什么面板上的文本字段没有出现。从我的角度来看,j已经以正确的方式做出了一切......
-
“仅用于培训。” 如果此培训是“为什么我们不应该使用空布局”,那么您已经完成了部分培训。如果是“如何制作具有空布局的 GUI”,那是困难且毫无意义的。
-
“仅用于训练。”。通过与布局管理器进行培训来帮助自己。从Laying out Components in a Container开始
标签: java swing jpanel layout-manager null-layout-manager