编写java程序实现这样的界面布局效果:顶层容器中采用BorderLayout布局管理器,其中的四边各放一个标签JLabel类的实例,中心部分用一个中间容器,其中依然用BorderLayout布局管理器,在这部分再放入五个按钮JButton类的实例。进一步,可以尝试设定顶层容器、中间容器、按钮、标签的前景色和背景色,尝试设定按钮、标签的字体
时间: 2024-03-27 11:39:19 浏览: 98
以下是实现该界面布局效果的Java程序:
```java
import javax.swing.*;
import java.awt.*;
public class BorderLayoutExample extends JFrame {
public BorderLayoutExample() {
setTitle("BorderLayout Example");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 300);
setLocationRelativeTo(null);
// 创建顶层容器并设置BorderLayout布局管理器
JPanel panel = new JPanel(new BorderLayout());
setContentPane(panel);
// 添加四个标签到顶层容器的四个边
JLabel northLabel = new JLabel("North Label");
northLabel.setFont(new Font("Arial", Font.BOLD, 16));
northLabel.setForeground(Color.WHITE);
northLabel.setBackground(Color.BLUE);
northLabel.setOpaque(true);
panel.add(northLabel, BorderLayout.NORTH);
JLabel eastLabel = new JLabel("East Label");
eastLabel.setFont(new Font("Arial", Font.BOLD, 16));
eastLabel.setForeground(Color.WHITE);
eastLabel.setBackground(Color.RED);
eastLabel.setOpaque(true);
panel.add(eastLabel, BorderLayout.EAST);
JLabel southLabel = new JLabel("South Label");
southLabel.setFont(new Font("Arial", Font.BOLD, 16));
southLabel.setForeground(Color.WHITE);
southLabel.setBackground(Color.GREEN);
southLabel.setOpaque(true);
panel.add(southLabel, BorderLayout.SOUTH);
JLabel westLabel = new JLabel("West Label");
westLabel.setFont(new Font("Arial", Font.BOLD, 16));
westLabel.setForeground(Color.WHITE);
westLabel.setBackground(Color.YELLOW);
westLabel.setOpaque(true);
panel.add(westLabel, BorderLayout.WEST);
// 创建中间容器并设置BorderLayout布局管理器
JPanel centerPanel = new JPanel(new BorderLayout());
centerPanel.setBackground(Color.WHITE);
panel.add(centerPanel, BorderLayout.CENTER);
// 在中间容器中添加五个按钮
JButton button1 = new JButton("Button 1");
button1.setFont(new Font("Arial", Font.PLAIN, 14));
centerPanel.add(button1, BorderLayout.NORTH);
JButton button2 = new JButton("Button 2");
button2.setFont(new Font("Arial", Font.PLAIN, 14));
centerPanel.add(button2, BorderLayout.EAST);
JButton button3 = new JButton("Button 3");
button3.setFont(new Font("Arial", Font.PLAIN, 14));
centerPanel.add(button3, BorderLayout.SOUTH);
JButton button4 = new JButton("Button 4");
button4.setFont(new Font("Arial", Font.PLAIN, 14));
centerPanel.add(button4, BorderLayout.WEST);
JButton button5 = new JButton("Button 5");
button5.setFont(new Font("Arial", Font.PLAIN, 14));
centerPanel.add(button5, BorderLayout.CENTER);
setVisible(true);
}
public static void main(String[] args) {
new BorderLayoutExample();
}
}
```
程序中创建了一个 `JFrame` 对象作为顶层容器,并使用 `JPanel` 对象作为中间容器。使用 `BorderLayout` 布局管理器实现了各个组件的布局。其中,标签使用了不同的字体、前景色和背景色;按钮使用了相同的字体。
阅读全文