Java - GridBagLayout 位置 JLabel

Java - GridBagLayout position JLabel

我用了一个GridBagLayout,然后在上面放了一个JLabel,如图所示。我设法通过 ipadxipadyJLabel 的大小设置为所需的大小,但我似乎无法处理它的位置。它似乎总是以中间为中心,而我想从红点开始并且在调整 window 大小时不要重新定位。我该怎么办?

谢谢。我使用的代码也是:

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);

我改进了它...现在您可以使用插图将标签定位在 JFrame 周围,但经过一些研究后我建议选择不同的 layout manager

因此您的代码如下所示:

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!!

希望这段代码对您有所帮助:)