我使用GridBagLayout并在其上放置一个JLabel,如图所示。我设法通过ipadx和ipady将JLabel的大小设置为所需的大小,但我似乎没有使用它的位置。它似乎总是居中,而我想从红点开始,并且在调整窗口大小时不重新定位自己。我该怎么办?

谢谢。我使用的代码也是:
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);发布于 2015-09-07 18:27:40
我改进了它..。现在,您可以使用layout manager来定位JFrame周围的标签,但经过一些研究后,我建议您选择不同的insets。
因此,您的代码将如下所示:
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!!希望这段代码能对您有所帮助:)
https://stackoverflow.com/questions/32436147
复制相似问题