borderexample.java

来自「Corejava」· Java 代码 · 共 91 行

JAVA
91
字号
//BorderExample.java

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
 
public class BorderExample
{
	public static void main(String[] args)
	{  
		BorderFrame frame = new BorderFrame();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.show();
	}
}

class BorderFrame extends JFrame 
{  
	public BorderFrame()
	{  
		setTitle("BorderExample");
		setSize(WIDTH, HEIGHT);

		Container contentPane = getContentPane();

		buttonPanel = new JPanel();
		group = new ButtonGroup();
		
		//添加按钮和事件监视器
		//低斜面边界
		addRadioButton("Lowered bevel", 
			BorderFactory.createLoweredBevelBorder());    

		//凸斜面边界
		addRadioButton("Raised bevel", 
			BorderFactory.createRaisedBevelBorder());    

		//蚀刻边界
		addRadioButton("Etched", 
			BorderFactory.createEtchedBorder());

		//直线边界
		addRadioButton("Line", 
			BorderFactory.createLineBorder(Color.blue));
		
		//不光滑边界
		addRadioButton("Matte",
			BorderFactory.createMatteBorder(5, 5, 5, 5, Color.yellow));
		
		//空边界
		addRadioButton("Empty", 
			BorderFactory.createEmptyBorder());

		//初始化带标题的空边界
		Border border = BorderFactory.createEmptyBorder();
		Border titled = BorderFactory.createTitledBorder
			(border, "Border types");
		
		//给面板设置给定的边界
		buttonPanel.setBorder(titled);

		contentPane.add(buttonPanel);
	}

	public void addRadioButton(String buttonName, final Border b)
	{  
		JRadioButton button = new JRadioButton(buttonName);
		button.addActionListener(new ActionListener()
			{
				public void actionPerformed(ActionEvent event)
				{  
					Border titled = BorderFactory.createTitledBorder
						(b, "Border types");
					buttonPanel.setBorder(titled);
					
					//重新显示
					validate();
				}
			});

		group.add(button);
		buttonPanel.add(button);
	}

	public static final int WIDTH = 500;
	public static final int HEIGHT = 200;  

	private JPanel buttonPanel;
	private ButtonGroup group;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?