![](/img/trans.png)
[英]Java - GridBagLayout/Insets position JLabel under another
[英]Java - GridBagLayout position JLabel
如图所示,我使用了GridBagLayout
并在其上放置了一个JLabel
。 我设法通过ipadx
和ipady
将JLabel
的大小设置为所需的大小,但是我似乎ipady
它的位置。 似乎总是在中间居中,而我想从红点开始,并且在调整窗口大小时不要重新定位自身。 我该怎么办?
谢谢。 我使用的代码也是:
GridBagLayout gbl = new GridBagLayout();
setLayout(gbl);
GridBagConstraints gbc = new GridBagConstraints();
JLabel jl = new JLabel("This is a jlabel!", SwingConstants.CENTER);
jl.setBorder(BorderFactory.createLineBorder(Color.black));
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.ipadx = 87;
gbc.ipady = 220;
add(jl, gbc);
我改进了它...现在您可以使用inset将标签定位在JFrame
周围,但是经过研究后,我建议选择其他布局管理器 。
因此您的代码如下所示:
Dimension d = new Dimension(350, 400);
GridBagLayout gbl = new GridBagLayout();
JFrame frame = new JFrame("Heloo");
frame.setLayout(gbl);
GridBagConstraints gbc = new GridBagConstraints();
JLabel jl = new JLabel("This is a jlabel!", SwingConstants.CENTER);
jl.setBorder(BorderFactory.createLineBorder(Color.black));
gbc.ipadx = 87;
gbc.ipady = 220;
gbc.insets = new Insets(0, 0, 360, 340);// here work with JFrame size!!
希望这段代码对您有所帮助:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.