文档章节

嵌套的标题边框

miring
 miring
发布于 2017/04/27 14:02
字数 715
阅读 4
收藏 0

标题边框可以与其他边框对象嵌套使用,默认的标题边框可以被嵌套的边框取代,但是标题文字部分依然会显示在正确的位置上。本实例通过该原理实现了标题边框与其他边框的嵌套效果,实例运行效果如图所示,界面中显示了3种嵌套边框效果。 输入图片说明

本实例的核心技术在于如何创建标题边框对象。实例中演示的3种边框使用了TitledBorder类的复杂构造方法 1)在项目中新建窗体类ShowTitleBorder。设置窗体的标题、大小和位置等属性。 (2)在窗体类的构造方法中创建3个面板容器,同时创建3个标题边框对象,这3个标题边框分别与立体边框、浮雕化边框和线性边框进行嵌套,然后把嵌套后的边框设置为每个面板容器的边框属性。代码如下:

package com.lzw;

import java.awt.Color;
import java.awt.EventQueue;
import java.awt.GridLayout;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.BevelBorder;
import javax.swing.border.EmptyBorder;
import javax.swing.border.EtchedBorder;
import javax.swing.border.LineBorder;
import javax.swing.border.TitledBorder;
import javax.swing.UIManager;

public class ShowInTitleBorder extends JFrame {
    
    private JPanel contentPane;
    private TitledBorder titledBorder;
    
    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        try {
            UIManager
                    .setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
        } catch (Throwable e) {
            e.printStackTrace();
        }
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    ShowInTitleBorder frame = new ShowInTitleBorder();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }
    
    /**
     * Create the frame.
     */
    public ShowInTitleBorder() {
        setTitle("\u5B9E\u4F8B008  \u5D4C\u5957\u7684\u6807\u9898\u8FB9\u6846");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 450, 176);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        GridLayout gl_contentPane = new GridLayout(0, 3);
        gl_contentPane.setHgap(10);
        contentPane.setLayout(gl_contentPane);
        setContentPane(contentPane);
        
        JPanel panel_9 = new JPanel();// 创建面板容器
        titledBorder = new TitledBorder(new BevelBorder(BevelBorder.LOWERED,
                null, null, null, null), "嵌入立体边框的标题", TitledBorder.LEADING,
                TitledBorder.TOP, null, new Color(59, 59, 59));// 创建嵌套立体效果的标题边框
        panel_9.setBorder(titledBorder);// 设置面板容器边框
        contentPane.add(panel_9);
        
        JPanel panel_10 = new JPanel();// 创建面板容器
        titledBorder = new TitledBorder(new EtchedBorder(EtchedBorder.RAISED,
                null, null), "浮雕化标题边框", TitledBorder.LEADING, TitledBorder.TOP,
                null, new Color(59, 59, 59));// 创建嵌套浮雕化效果的标题边框
        panel_10.setBorder(titledBorder);// 设置面板容器边框
        contentPane.add(panel_10);
        
        JPanel panel_11 = new JPanel();// 创建面板容器
        titledBorder = new TitledBorder(new LineBorder(new Color(255, 0, 255),
                5, true), "粉线蓝字的线性标题框", TitledBorder.LEADING, TitledBorder.TOP,
                null, Color.BLUE);// 创建嵌套直线效果的标题边框
        panel_11.setBorder(titledBorder);// 设置面板容器边框
        contentPane.add(panel_11);
        
    }
    
}

心法领悟:标题边框的嵌套。 标题边框的构造方法中可以指定其他边框对象作为参数,并且创建的标题对话框的边界将由这个参数指定的边框对象去绘制,而标题边框只负责完成标题文本的绘制。本实例只演示了与3种常用边框的组合嵌套效果,实际上创建标题边框的构造方法中可以指定任意边框对象,所以不必局限于本实例嵌套的边框类型。

© 著作权归作者所有

miring
粉丝 0
博文 23
码字总数 14869
作品 0
长春
程序员
私信 提问
Linux办公一条龙之电子表格Calc(组图)

上次向大家介绍了OpenOffice中最为常用的文字处理模块Writer并用它建立了自己的第一个Linux文档,这次向大家介绍OpenOffice中应用广泛的电子表格模块Calc。      一、Calc概述      ...

范堡
2009/05/08
295
0
线性布局(LinearLayout)——Mars Android开发视频之第一季第十二集(重)

1·LinearLayout布局的嵌套 下图为三个线性布局嵌套的结果。最外层为一个水平排列的线性布局,内层为两个垂直排列的线性布局,其中每个包含两个文本框。 1.1·实现: 首先,外层为水平排列的...

周田
2015/08/19
0
0
DIV+CSS定位(二)

一、CSS中的块模型 在CSS的定义中,有的html标签被浏览器当成一个块来显示,比如div、table、p、ul等等,我们称之为块元素;有的html标签被浏览器显示在文本行之类,如a、span、font等等,我...

长平狐
2012/11/28
118
0
Web前端基础【1】--HTML基础

HTML不是编程语言,是一种表现网页信息的符号标记语言。标记语言是一套标记,HTML使用标记来描述网页。Web浏览器的作用就是读取HTML文档,并以网页的形式显示出来。 一:HTML的基本结构 1:内...

爱吃西瓜的番茄酱
2017/10/31
0
0
JavaScript实现选项卡效果

慕课网上JavaScript进阶课最后一个编程挑战,自己也是边做边搜,希望通过最后这个自己的总结加深对节点获取方法的了解。 效果分析之HTML结构 整个结构由上至下分为两部分,标题块使用列表的方...

牛肉烧酒
04/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

gradle grovvy中的闭包

1. 无参数的闭包 //这b1就是一个闭包def b1={ println "hello b1"}//定义方法,包含闭包类型的参数def method1(Closure closure){closure()}//执行method1method1(b1) 执行结果 ...

edison_kwok
50分钟前
3
0
基于Spring Boot + Dubbo的全链路日志追踪(一)

一、 概要 当前公司后端整体架构为:Spring Boot + Dubbo。由于早期项目进度等原因,对日志这块没有统一的规范,基本上是每个项目自己管自己的日志。这也对后面的问题排查带来了很大的困难,...

明天以后
今天
7
0
安装fastdfs文件服务器步骤

1、安装libfastcommon wget https://github.com/happyfish100/libfastcommon/archive/master.zip 解压后安装 cd fastcommon-master ./make.sh ./make.sh install 2、安装 FastDFS,从sourcef......

lsjlgo
今天
3
0
MySQL 5.7 免安装版配置

下载地址:https://dev.mysql.com/downloads/mysql/ 安装步骤 1.下载zip解压到目录下 2.配置环境变量 新建系统变量:MYSQL_HOME,值:D:\DevelopmentTool\Mysql-5.7.26-winx64 修改path变量:...

华山猛男
今天
7
0
java map的遍历

//从大的角度可以分为两类Set<String> set=map.keySet();这里面还可以分为3类, 从set的角度来分 //Set<Map.Entry<String, String>> entery=map.entrySet(); public class Test { public sta......

南桥北木
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部