Gui中可调整大小的框架

时间:2014-02-11 05:17:10

标签: java swing user-interface layout-manager

如何在gui中获取不可调整大小的frame我对此感到困惑,因为我正在使用setLayout(new FlowLayout());所以如果我拖动frame我的button位置的大小会打乱。这是我到目前为止的代码

import java.awt.*;
import javax.swing.*;
public class aw extends JFrame
{
    private JTextField aw1;
    private JLabel aww;
    private JButton aw2;

    public aw()
    {
        setLayout(new FlowLayout());


        aww = new JLabel("Enter Your Password");
        add(aww);

        aw1 = new JTextField(15);
        add(aw1);

        aw2 = new JButton("Enter");
        add(aw2);
    }
    public static void main(String args [])
    {
        aw v = new aw();

            v.setSize(200,200);
            v.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            v.setVisible(true);
    }
}

2 个答案:

答案 0 :(得分:3)

我认为setResizable(false)正是您所寻找的

侧面说明

  • 此外,而不是setSize()。你应该pack()框架。如果您想要空的空间,可以使用EmptyBorder

  • 如果想要框架要重新调整大小并且您希望调整大小时所有组件都居中,您可以始终将它们全部包装在JPanel中,然后添加JPanel到框架。

  • 使用Java命名约定。班级名称以大写字母开头。

  • 从事件发送线程运行Swing应用,请参阅Initial Threads

答案 1 :(得分:1)

将所有内容放入JPanel,以便配置pack()元素,请确保使用空边框。在对象中,我们有setResizable的访问者将其设置为false。

记下休息,然后使用Singleton线程模型运行Event-Dispatch Thread。

感谢AndrewThompson的超常知识,我能够进行必要的更新