java - setPreferedSize 不起作用

标签 java swing jbutton preferredsize

我一直在使用 JFrame 创建一个用于登录屏幕的程序,我似乎得到了很长的登录和取消条(使用网格布局(2,1,10,10)。所以我在网格内创建了小缓冲区标签布局并将其更改为 2,3,10,10,网格中有 4 个缓冲区。我使用它是因为 setPreferredSize 语法不起作用。您能给我用于登录和取消的有效 PrefferedSize 语法吗? 这是我的带有缓冲区标签的初始化代码

public class access implements ActionListener
{
boolean flag=false;
JFrame frame;
JTextField username;
JPasswordField password;
JButton login,clear;
JPanel panel1,panel2,panel3;
JLabel user,pass,output,b1,b2,b3,b4;
String[] details;
access()
{
    frame = new JFrame("authentication ");
    panel1= new JPanel();
    panel2= new JPanel();
    panel3= new JPanel();
    username=new JTextField(10);
    password=new JPasswordField(10);
    b1=new JLabel("");
    b2=new JLabel("");
    b3=new JLabel("");
    b4=new JLabel("");
    user= new JLabel("username : ");
    pass= new JLabel("password : ");
    output=new JLabel("  ");
    login=new JButton("login");
    login.setPreferredSize(new Dimension(40, 10));
    clear= new JButton("clear");
    clear.setPreferredSize(new Dimension(100,40));
    login.addActionListener(this);
    clear.addActionListener(this);
    initialize();
}
public void initialize()
{


    panel1.setLayout(new GridLayout(2,2,10,10));
    panel1.add(user);
    panel1.add(username);
    panel1.add(pass);
    panel1.add(password);

    panel2.setLayout(new GridLayout(2,3,5,5));
    panel2.add(b1);
    panel2.add(login);
    panel2.add(b2);
    panel2.add(b3);
    panel2.add(clear);
    panel2.add(b4);

    panel3.setLayout(new FlowLayout());
    panel3.add(output);

    frame.setLayout(new GridLayout(3,1,10,10));
    frame.getContentPane().add(panel1);
    frame.getContentPane().add(panel2);
    frame.getContentPane().add(panel3);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(500,180);
    frame.setVisible(true);
}

最佳答案

GridLayout 忽略首选大小。使用另一个 LayoutManager 例如GridBagLayout

关于java - setPreferedSize 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23444599/

相关文章:

java - java eclipse 中的 Activity 之间切换

java - 如果 bean 已经用 @ConfigurationProperties 注释,@EnableConfigurationProperties 有什么区别?

java - 关于 Java Swing 的一般问题

java - JTable 添加行不适用于 actionListener

java - 2D JButton 数组,想要为游戏添加 Action 监听器

java,从插件控制台读取行

java - 显示带有使用反射关联的对象名称和方法的工具提示?

java - 网格布局实现特定按钮 ActionListener

java - 辅导日志,混淆 JButton 的代码

java - 如何使用 la4j 计算 3D vector 积?