Java - GridBagLayout 位置 JLabel
Java - GridBagLayout position JLabel
我用了一个GridBagLayout
,然后在上面放了一个JLabel
,如图所示。我设法通过 ipadx
和 ipady
将 JLabel
的大小设置为所需的大小,但我似乎无法处理它的位置。它似乎总是以中间为中心,而我想从红点开始并且在调整 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!!
希望这段代码对您有所帮助:)
我用了一个GridBagLayout
,然后在上面放了一个JLabel
,如图所示。我设法通过 ipadx
和 ipady
将 JLabel
的大小设置为所需的大小,但我似乎无法处理它的位置。它似乎总是以中间为中心,而我想从红点开始并且在调整 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!!
希望这段代码对您有所帮助:)