`

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);
	}
}

 

分享到:
评论

相关推荐

    JFrame边框阴影效果,窗口透明,组件不透明

    在Java GUI编程中,`...通过`setOpacity()`设置透明度,结合自定义边框类如`ShadowBorder`,我们可以让`JFrame`看起来更加美观和专业。在实际应用中,一定要注意兼容性问题,并根据需求调整透明度和阴影效果的细节。

    java Border的使用

    Java中的`Border`类是Swing库的一部分,用于在组件(如JFrame、JPanel等)上添加边框。边框不仅可以提供视觉上的装饰,还可以帮助用户更好地理解UI的结构。`Border`接口由Java AWT和Swing库提供,它是所有边框类型的...

    swing教程之经典

    - `javax.swing.border`: 提供Swing组件的边框功能。 - `javax.swing.event`: 定义了Swing的事件模型和监听器。 - `javax.swing.plaf`: 定义了UI代理的行为。 - `javax.swing.plaf.metal`: 实现Metal风格的UI...

    各种java边框的使用

    下面是一段完整的代码示例,演示了如何创建一个包含多种边框的面板: ```java import java.awt.*; import javax.swing.*; import javax.swing.border.*; public class BorderDemo { public static void main...

    Java Swing实现的定制TextField功能示例

    在本文中,我们介绍了 Java Swing 中的 TextField 组件的基本属性和方法,并演示了如何使用 Java Swing 实现定制的 TextField 功能。通过对 TextField 的定制,我们可以满足特定的需求,例如改变文本框的背景颜色、...

    java+连连看.pdf

    8. Border和边框的使用:javax.swing.BorderFactory类可以创建不同的边框样式。本文件中展示了如何使用BorderFactory.createBevelBorder方法创建凹凸边框,并将其应用到JPanel上。 9. Swing线程安全:Swing组件的...

    Java实现图片旋转功能.rar

     jSlider.setBorder(new javax.swing.border.TitledBorder(BorderFactory.createEmptyBorder(), "图像的旋转度")); //设置边框  jSlider.addChangeListener(new ChangeListener() { //滑动条jSlider事件处理   ...

    JAva拖动滑块旋转图片.rar

     jSlider.setBorder(new javax.swing.border.TitledBorder(BorderFactory.createEmptyBorder(), "图像的旋转度")); //设置边框  jSlider.addChangeListener(new ChangeListener() { //滑动条jSlider事件处理   ...

    java JLabel组件的资源

    可以为JLabel设置边框,例如: ```java Border border = BorderFactory.createLineBorder(Color.BLACK); label.setBorder(border); ``` 同样,也可以设置背景色,使用`setBackgroundColor()`方法。 5. **工具...

    JAVA语言程序设计(基础篇)

    7. `BorderDemo.class` - 这个类可能演示了如何使用Swing的`Border`接口来添加边框和装饰到GUI组件,以增强用户界面的视觉效果。 8. `RegistrationWithCookie.class` - 这可能是一个关于网络编程的示例,展示了如何...

    java课件-用户界面组件.doc

    | `border` | 指定组件的边框 | 这些属性可以通过特定的方法进行访问或修改,从而实现对组件外观和行为的控制。 ##### 10.1.3 组件的方法 组件类提供了多种方法来操作组件的属性和行为。下面是一些常用的方法: ...

    矩形框 图片

    1. **HTML/CSS**:讲解如何使用HTML的`<div>`或其他元素配合CSS的`border`属性来创建带边框的矩形框,以及如何调整边框样式、颜色和宽度。 2. **JavaScript**:可能涉及JavaScript的DOM操作,如动态添加、修改或...

    2021-2022计算机二级等级考试试题及答案No.17473.docx

    - **解释**: `BorderStyle`控制窗体边框样式,`Name`是窗体的名称,`BackColor`设置背景颜色,而`Caption`才是用于设置窗体标题的属性。 #### 5. 字长的概念 - **知识点**: 字长是指计算机能同时处理的二进制信息的...

    2021-2022计算机二级等级考试试题及答案No.2899.docx

    21. 窗体边框线类型属性:在许多编程环境中,窗体的边框线类型可以通过`BorderStyle`属性进行改变。 以上是对计算机二级等级考试中涉及的多个知识点的详细解释,包括数据库管理、程序设计、办公软件使用、网页开发...

    用JFreeChart增强JSP报表的用户体验

    1. **自定义颜色**:可以使用`Renderer`接口子类(如`CategoryItemRenderer`)来设置柱状图的填充色和边框色。 2. **标签和图例**:可以使用`LabelGenerator`接口子类来生成自定义的标签和图例文本。 3. **轴刻度**...

Global site tag (gtag.js) - Google Analytics