gpt4 book ai didi

java - 重新绘制我的 JFrame

转载 作者:行者123 更新时间:2023-12-01 23:01:43 25 4
gpt4 key购买 nike

我有一个问题。将多个对象添加到 JFrame 后,当我执行应用程序时,我需要调整表单的尺寸以便查看所有内容。我做了一些研究,我明白我需要在某处插入这行代码(但我不知道在哪里!!)

revalidate(); 

或者

repaint();

我尝试在任何地方添加这些,但出现语法错误......帮助?

package test_area;

import javax.swing.BoxLayout;
import javax.swing.*;
import java.awt.*;


public class Test_area {

// private JFrame f;
// private JPanel p;
//private JButton b1;
private JLabel lab;

final static boolean shouldFill = true;
final static boolean shouldWeightX = true;

public Test_area()
{
gui();

}


public void gui()
{

JFrame f = new JFrame("Ma JFrame");
f.setVisible(true);
f.setSize(600,400);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JPanel p = new JPanel(new GridBagLayout());
p.setBackground(Color.CYAN);
//p.setSize(450,250);

JButton b1 = new JButton("Login");
JButton b2 = new JButton("Exit_ ");
JLabel l1 = new JLabel("Username");
JLabel l2 = new JLabel("Password");
JLabel validate = new JLabel("Not Validated Yet");
TextField textField = new TextField(20);
JPasswordField pwField = new JPasswordField(15);


GridBagConstraints c = new GridBagConstraints();

c.insets = new Insets(5,5,5,5);

c.gridx=0;
c.gridy=1;

p.add(l1,c);

c.gridx = 1;
c.gridy = 1;
p.add(textField,c);

c.gridx = 0;
c.gridy = 2;
p.add(l2,c);

c.gridx= 1;
c.gridy=2;
p.add(pwField,c);

c.gridx=2;
c.gridy=1;
p.add(b1,c);


c.gridx=2;
c.gridy=2;

p.add(b2,c);


c.gridx=3;
c.gridy=1;
p.add(validate,c);

f.add(p,BorderLayout.NORTH);



// JButton button;
// JPanel p = new JPanel();
// p.setLayout(new GridBagLayout());
// GridBagConstraints c = new GridBagConstraints();
//
// if(shouldFill)
// {
// c.fill = GridBagConstraints.HORIZONTAL;
// }
//
// button = new JButton("Button1");
//
// if(shouldWeightX)
// {
// c.weightx = 0.5;
// }
//





}


public static void main(String[] args) {

new Test_area();


}

}

最佳答案

使用您的代码,我找不到任何语法错误(代码编译)。您应该使用 pack 来使用 JFrame 的最小大小。因此,只需在添加所有组件后添加 f.pack(); 即可。

关于java - 重新绘制我的 JFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23311471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com