【问题标题】:Alignment indent对齐缩进
【发布时间】:2020-04-02 01:02:01
【问题描述】:

question1answer1 行怎么可能不出现在选项块下(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 exampleShort, Self Contained, Correct Example。 4) 以最小尺寸提供 ASCII 艺术或 GUI 的 预期 布局的简单绘图,如果可调整大小,则具有更大的宽度和高度 - 以显示应如何使用额外空间。

标签: java swing alignment layout-manager positioning


【解决方案1】:

但是,它被放置在中间选项行的 NEXT 旁边?

Swing 使用布局管理器根据布局管理器的规则定位组件。

默认情况下,JPanel 使用FlowLayout,它将组件放置在单行上,彼此相邻。当行满时,组件将换行到下一行。

setAlignementX(...)setAlignmentY(...) 方法不会将组件定位在像素位置。布局管理器“可能”使用这些属性来帮助布局。 FlowLayout 不使用它们。

解决方案是使用布局管理器。阅读 Layout Managers 上的 Swing 教程部分,了解更多信息和示例。

您可以使用不同的布局管理器嵌套面板以实现所需的布局。

还有,

panel.setSize(200, 200);

那句话什么也没做。布局管理器将确定面板的首选大小,在您的情况下,您将“面板”添加到框架中,默认情况下使用 BorderLayout。所以面板将填满框架可用的整个空间。

【讨论】:

    猜你喜欢
    • 2020-07-13
    • 1970-01-01
    • 1970-01-01
    • 2017-09-27
    • 1970-01-01
    • 1970-01-01
    • 2013-01-15
    • 2014-03-11
    • 2011-03-17
    相关资源
    最近更新 更多