设置JLabel始终在窗口中央
时间: 2024-03-12 19:48:45 浏览: 43
如果要让`JLabel`始终在窗口中央,可以使用`GridBagLayout`布局。以下是一个示例代码:
```java
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class LabelCenterDemo {
public static void main(String[] args) {
// 创建一个 JFrame
JFrame frame = new JFrame("Label Center Demo");
// 创建一个 JPanel,并设置为 GridBagLayout 布局
JPanel panel = new JPanel(new GridBagLayout());
// 创建一个 JLabel
JLabel label = new JLabel("Hello, World!");
// 创建一个 GridBagConstraints
GridBagConstraints gbc = new GridBagConstraints();
// 设置 GridBagConstraints 的属性
gbc.gridx = 0;
gbc.gridy = 0;
gbc.weightx = 1;
gbc.weighty = 1;
gbc.fill = GridBagConstraints.CENTER;
// 将 JLabel 添加到 JPanel,并将 GridBagConstraints 应用到 JLabel
panel.add(label, gbc);
// 将 JPanel 添加到 JFrame
frame.add(panel);
// 设置 JFrame 的大小和可见性
frame.setSize(300, 200);
frame.setVisible(true);
}
}
```
在上面的示例代码中,我们使用了`GridBagLayout`布局,并设置`GridBagConstraints`的`weightx`和`weighty`属性为1,表示`JLabel`在水平和垂直方向上都应该占据所有可用的空间。同时,我们还将`fill`属性设置为`GridBagConstraints.CENTER`,表示`JLabel`应该始终在容器中央。
阅读全文