Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 自由定位摆动元件_Java_Swing_Layout - Fatal编程技术网

Java 自由定位摆动元件

Java 自由定位摆动元件,java,swing,layout,Java,Swing,Layout,为什么会有这些愚蠢的布局经理来定位我的东西。我可以理解在移动平台上这样做,那里有许多不同的设备尺寸。但那不是我的目标。我想根据坐标自由地定位任何组件,比如选项卡窗格、滚动窗格——我想要的位置 有没有布局经理让我做我想做的?像Qt设计器、WPF、WindowsForms等常见的吗?像是必须的吗 如果要使用绝对位置: myPanel.setLayout(null); JButton myButton = new JButton(myPanel); myButton.setBounds(left, t

为什么会有这些愚蠢的布局经理来定位我的东西。我可以理解在移动平台上这样做,那里有许多不同的设备尺寸。但那不是我的目标。我想根据坐标自由地定位任何组件,比如选项卡窗格、滚动窗格——我想要的位置


有没有布局经理让我做我想做的?像Qt设计器、WPF、WindowsForms等常见的吗?像是必须的吗

如果要使用绝对位置:

myPanel.setLayout(null);
JButton myButton = new JButton(myPanel);
myButton.setBounds(left, top, width, height);

布局管理器为您提供了极大的灵活性,即使您有固定大小的框架

我强烈建议使用它们。查看视觉指南,了解哪些指南可能对您有用。此外,您还可以将不同的管理器分层以获得其他效果:

答案是:

你应该使用

JFrame frame = new JFrame("Laying Out Components Using Absolute Coordinate");

绝对定位是邪恶的,你应该像躲避瘟疫一样避免它。只要更改显示器的DPI分辨率,您就会明白为什么小部件的位置和大小最好由
LayoutManager
动态处理。现在,我可以理解您在面对Swing basic
LayoutManager
s时的挫败感。但是有非常好的第三方
LayoutManager
s值得一试。对一项技能的拙劣掌握并不是诋毁这套技能的好理由。“为什么会有这些愚蠢的布局管理者来定位我的东西。”没有愚蠢的布局,只有那些不会学习使用布局的愚蠢的人。我的背景已经提到了。我也吃很多可可。对不起,我对设计有点担心。。。耶。投票否决它。有人提到Swing布局经理很差劲。其他人只使用JFormDesigner或/和自定义组件。如前所述。在Android上,我不会使用固定位置。但针对桌面应用程序:我敢肯定你们都错了。就这样。谢谢你的帮助;)请注意,绝对定位不是WPF的标准。对不起,先生,我怎么射自己的脚@ffil:“将枪械指向地面。瞄准选定的脚。挤压(不要拉)扳机。”这就是它的工作原理。事实上,用这些管理器设计GUI是不可能的。。。如果您不是针对命令行用户;)@Bib我很好奇,当用户调整其大小时,当用户在操作系统级别更改默认字体大小时,您设计的UI在小DPI监视器(72dpi)和高DPI监视器(200dpi)上的外观如何。一定很可怕。比命令行更糟糕;-)另外:看看第三方布局管理器,它们大大简化了UI设计和编码。要快速比较,请查看: