【发布时间】:2020-04-02 01:02:01
【问题描述】:
question1 和 answer1 行怎么可能不出现在选项块下(4 个选项)。
但相反,它被放置在中间选项行的旁边?
我该如何解决这个问题
java
Dimension d = new Dimension(500,500);
JFrame frame = new JFrame("Morgage company Rip off LtD.");
frame.setSize(d);
frame.setResizable(true);
JPanel panel = new JPanel();
panel.setSize(200, 200);
JLabel options = new JLabel("<html>For Lineair : press (l)<br>For Saving : press (s)<br>For Annuity : press (a)<br>For All forms : press (a)<br></html>");
JLabel question1 = new JLabel("Type of morgage?");
JTextField answer1 = new JTextField();
answer1.setPreferredSize(new Dimension(20,20));
JButton button1 = new JButton("Confirm");
question1.setAlignmentX(0);
question1.setAlignmentY(50);
answer1.setAlignmentX(20);
answer1.setAlignmentY(50);
panel.add(options);
panel.add(question1);
panel.add(answer1);
panel.add(button1);
panel.setVisible(true);
frame.add(panel);
frame.setVisible(true);
【问题讨论】:
-
1)
frame.setSize(d);这比猜测好不了多少。如果事实证明它在一个操作系统上是正确的,那么它在其他操作系统上很可能是错误的。 2) 而是添加组件(具有适当的布局),然后将pack()框架添加到正确的大小。 3) 为了尽快获得更好的帮助,edit 添加minimal reproducible example 或Short, Self Contained, Correct Example。 4) 以最小尺寸提供 ASCII 艺术或 GUI 的 预期 布局的简单绘图,如果可调整大小,则具有更大的宽度和高度 - 以显示应如何使用额外空间。
标签: java swing alignment layout-manager positioning