如何在Java中的GroupLayout中使组件正常大小

发布于 2024-11-15 20:00:53 字数 1093 浏览 2 评论 0原文

我正在尝试为我的小程序进行布局,但我无法处理一个问题 - 某些元素(例如 JComboBox)尽可能大 - 占据小程序中的所有位置。 setSize 函数不起作用。我该怎么做才能使它们变成正常尺寸? (某些元素,例如 JButtons 和 JLabels 具有正确的大小)。

我的代码:

JPanel cp=new JPanel();

String[] s = new String[2];
s[0] = "Price";
s[1] = "Name";

JComboBox c = new JComboBox(s);

JProgressBar pb=new JProgressBar(17, 23);
pb.setValue(20);
pb.setStringPainted(true);

JLabel l=new JLabel("Name of product");

JButton b=new JButton("Send a message");
b.setEnabled(true);

cp.add(c);
cp.add(pb);
cp.add(l);
cp.add(b);

GroupLayout layout = new GroupLayout(cp);
cp.setLayout(layout);

layout.setAutoCreateGaps(true);
layout.setAutoCreateContainerGaps(true);

layout.setHorizontalGroup(
   layout.createSequentialGroup()
      .addGroup(layout.createParallelGroup(GroupLayout.Alignment.CENTER)
           .addComponent(c)
           .addComponent(pb)
           .addComponent(l)
           .addComponent(b))
);
layout.setVerticalGroup(
   layout.createSequentialGroup()
      .addComponent(c)
      .addComponent(pb)
      .addComponent(l)
      .addComponent(b)
);

add(cp);

I am trying to make a layout for my applet, but I cannot handle one problem - some of the elements (e.g. JComboBox) are as big as they can be - take all place in applet. setSize function do not work. What can I do to make them normal sized? (some elements e.g. JButtons and JLabels have correct sizes).

My code:

JPanel cp=new JPanel();

String[] s = new String[2];
s[0] = "Price";
s[1] = "Name";

JComboBox c = new JComboBox(s);

JProgressBar pb=new JProgressBar(17, 23);
pb.setValue(20);
pb.setStringPainted(true);

JLabel l=new JLabel("Name of product");

JButton b=new JButton("Send a message");
b.setEnabled(true);

cp.add(c);
cp.add(pb);
cp.add(l);
cp.add(b);

GroupLayout layout = new GroupLayout(cp);
cp.setLayout(layout);

layout.setAutoCreateGaps(true);
layout.setAutoCreateContainerGaps(true);

layout.setHorizontalGroup(
   layout.createSequentialGroup()
      .addGroup(layout.createParallelGroup(GroupLayout.Alignment.CENTER)
           .addComponent(c)
           .addComponent(pb)
           .addComponent(l)
           .addComponent(b))
);
layout.setVerticalGroup(
   layout.createSequentialGroup()
      .addComponent(c)
      .addComponent(pb)
      .addComponent(l)
      .addComponent(b)
);

add(cp);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夏天碎花小短裙 2024-11-22 20:00:53

尝试使用 setPreferredSize() 方法。

Try using the setPreferredSize() method.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文