这样的效果,swing 如何实现?

2025-03-01 04:16:47
推荐回答(1个)
回答1:

import java.awt.Color;

import java.awt.Font;

import java.awt.GridBagConstraints;

import java.awt.GridBagLayout;

import javax.swing.BorderFactory;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.UIManager;

import javax.swing.UnsupportedLookAndFeelException;

import javax.swing.border.Border;

import javax.swing.border.TitledBorder;

public class BorderDemo extends JPanel {

private static final long serialVersionUID = 890959008784739480L;

JLabel infoLabel;// 信息标签

JButton setButton;// 设置按钮

public BorderDemo() {

//设置透明

this.setOpaque(false);

//创建标题边框

Border titleBorder = BorderFactory.createTitledBorder(null,"启动和故障恢复",

TitledBorder.LEFT,

TitledBorder.DEFAULT_POSITION,

new Font("正楷",Font.PLAIN,12),

Color.blue);

//设置边框

this.setBorder(titleBorder);

//设置布局

this.setLayout(new GridBagLayout());

GridBagConstraints gbc = new GridBagConstraints();

infoLabel = new JLabel("系统启动,系统失败和调试信息");

gbc.gridx = 0;

gbc.gridy = 0;

gbc.anchor = GridBagConstraints.NORTH;

gbc.gridwidth = 1;

gbc.gridheight =1;

gbc.fill = GridBagConstraints.BOTH;

gbc.weightx = 1.0;

gbc.weighty = 1.0;

this.add(infoLabel,gbc);

setButton = new JButton("设置(T)");

gbc.gridx = 1;

gbc.gridy = 1;

gbc.gridwidth =  GridBagConstraints.REMAINDER ;

gbc.weightx = 0;

gbc.weighty = 0;

this.add(setButton,gbc);

}

public static void main(String[] args) {

//Window风格

String lookAndFeel = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";

try {

UIManager.setLookAndFeel(lookAndFeel);

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (InstantiationException e) {

e.printStackTrace();

} catch (IllegalAccessException e) {

e.printStackTrace();

} catch (UnsupportedLookAndFeelException e) {

e.printStackTrace();

}

JFrame frame = new JFrame();

BorderDemo demo = new BorderDemo();

frame.getContentPane().add(demo);

frame.pack();

frame.setVisible(true);

frame.setDefaultCloseOperation(3);

}

}