`

Swing,Border设置边框演示

阅读更多
package Assis;

import java.awt.*;
import java.awt.event.*;
import javax.swing.border.*;
import javax.swing.*;

public class BorderDemo extends JFrame {
	private static final long serialVersionUID = 1L;

	public BorderDemo() {
		// 设置框架窗口的标题
		super("使用边框的例子");
		// 定义5个简单类型的边框
		Border blackline, etched, raisedbevel, loweredbevel, empty;
		// 创建黑色的线状边框
		blackline = BorderFactory.createLineBorder(Color.black);
		// 创建蚀刻边框
		etched = BorderFactory.createEtchedBorder();
		// 创建凸出边框
		raisedbevel = BorderFactory.createRaisedBevelBorder();
		// 创建凹陷边框
		loweredbevel = BorderFactory.createLoweredBevelBorder();
		// 创建空的边框
		empty = BorderFactory.createEmptyBorder();

		// First pane: simple borders
		JPanel simpleBorders = new JPanel();
		simpleBorders.setLayout(new BoxLayout(simpleBorders, BoxLayout.Y_AXIS));

		addCompForBorder(blackline, "线状边框", simpleBorders);
		addCompForBorder(etched, "蚀刻边框", simpleBorders);
		addCompForBorder(raisedbevel, "凸出边框", simpleBorders);
		addCompForBorder(loweredbevel, "凹陷边框", simpleBorders);
		addCompForBorder(empty, "空的边框", simpleBorders);

		// Second pane: titled borders
		JPanel titledBorders = new JPanel();
		titledBorders.setLayout(new BoxLayout(titledBorders, BoxLayout.Y_AXIS));
		TitledBorder titled;

		titled = BorderFactory.createTitledBorder("title");
		addCompForBorder(titled, "default titled border"
				+ " (default just., default pos.)", titledBorders);

		titled = BorderFactory.createTitledBorder(blackline, "title");
		addCompForTitledBorder(titled, "titled line border"
				+ " (centered, default pos.)", TitledBorder.CENTER,
				TitledBorder.DEFAULT_POSITION, titledBorders);

		titled = BorderFactory.createTitledBorder(etched, "title");
		addCompForTitledBorder(titled, "titled etched border"
				+ " (right just., default pos.)", TitledBorder.RIGHT,
				TitledBorder.DEFAULT_POSITION, titledBorders);

		titled = BorderFactory.createTitledBorder(loweredbevel, "title");
		addCompForTitledBorder(titled, "titled lowered bevel border"
				+ " (default just., above top)",
				TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.ABOVE_TOP,
				titledBorders);

		titled = BorderFactory.createTitledBorder(empty, "title");
		addCompForTitledBorder(titled, "titled empty border"
				+ " (default just., bottom)",
				TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.BOTTOM,
				titledBorders);

		// 创建TabbledPane组件
		JTabbedPane tabbedPane = new JTabbedPane();

		tabbedPane.addTab("简单的边框", null, simpleBorders, null);

		tabbedPane.addTab("带有标题的边框", null, titledBorders, null);

		tabbedPane.setSelectedIndex(0);

		getContentPane().add(tabbedPane, BorderLayout.CENTER);
	}

	// 添加带有标题的边框
	void addCompForTitledBorder(TitledBorder border, String description,
			int justification, int position, Container container) {
		border.setTitleJustification(justification);
		border.setTitlePosition(position);
		addCompForBorder(border, description, container);
	}

	// 添加简单的边框
	void addCompForBorder(Border border, String description, Container container) {
		JPanel comp = new JPanel(false);
		JLabel label = new JLabel(description, JLabel.CENTER);
		comp.setLayout(new GridLayout(1, 1));
		comp.add(label);
		comp.setBorder(border);

		container.add(Box.createRigidArea(new Dimension(0, 10)));//设置间隔
		container.add(comp);
	}

	// 程序的入口方法
	public static void main(String[] args) {
		JFrame frame = new BorderDemo();
		// 添加框架窗口的事件监听(监听关闭框架窗口事件)
		frame.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				// 正常推出Java虚拟机
				System.exit(0);
			}
		});

		// 显示框架窗口
		frame.pack();
		frame.setVisible(true);
	}
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics