gpt4 book ai didi

java - 减小 jdialog 的大小

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

我必须创建一个自定义 jdialog,但我希望它小一点。它不应该有空白空间。下面的代码给了我这个:

Gui

如果我使用 setSize 减小大小,则会导致如下所示的错误 GUI:

BadGui

class Find extends JDialog
{
JPanel f1,f2,f3,rp;
JLabel fl,filler1,filler2,filler3;
JTextField ft,fillert;
JCheckBox mcase;
JButton fb1,fb2;
JRadioButton upr,dr;
ButtonGroup rg;
public Find()
{
setTitle("Find");

f3 = new JPanel();
f3.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
f3.setLayout(new GridLayout(3,1));

f1 = new JPanel();
f1.setLayout(new BoxLayout(f1,BoxLayout.X_AXIS));
f2 = new JPanel();
f2.setLayout(new BoxLayout(f2,BoxLayout.X_AXIS));

fl = new JLabel("Find what: ");
ft = new JTextField();

fb1 = new JButton(" Find ");
mcase = new JCheckBox("Match case",false);
fb2 = new JButton("Cancel");
rg = new ButtonGroup();
upr = new JRadioButton("Up");
dr = new JRadioButton("Down");
rg.add(upr);
rg.add(dr);
rp = new JPanel();
rp.add(upr);
rp.add(dr);

filler1 = new JLabel(" ");
filler2 = new JLabel(" ");

f1.add(fl);
f1.add(ft);
f1.add(filler1);
f1.add(fb1);

f2.add(mcase);
f2.add(rp);
//f2.add(filler2);
//f2.add(fb2);

f3.add(f1);
//f3.add(new JLabel());
f3.add(f2);

add(f3);
setSize(400,120);
setAlwaysOnTop(true);
setResizable(false);
setVisible(true);
}
}

最佳答案

您的 f3 JPanel 有一个包含 3 行的 GridLayout,第三行是空的。

您只需要 2 个,所以请尝试:

f3.setLayout(new GridLayout(2,1));

或者:

f3的LayoutManager更改为垂直的BoxLayout

f3.setLayout(new BoxLayout(f3, BoxLayout.Y_AXIS));

并降低JDialog的高度:

setSize(400,100);

关于java - 减小 jdialog 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35607083/

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