嵌套的标题边框
来源:互联网 发布:儿童英语网络课程好吗 编辑:程序博客网 时间:2024/06/06 04:18
标题边框可以与其他边框对象嵌套使用,默认的标题边框可以被嵌套的边框取代,但是标题文字部分依然会显示在正确的位置上。本实例通过该原理实现了标题边框与其他边框的嵌套效果,实例运行效果如图所示,界面中显示了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种常用边框的组合嵌套效果,实际上创建标题边框的构造方法中可以指定任意边框对象,所以不必局限于本实例嵌套的边框类型。
0 0
- 嵌套的标题边框
- 表格嵌套的边框处理
- swing带标题的边框
- 多重边框 不用嵌套的多重边框写法
- 嵌套div的边框合并问题
- 如何创建一个带标题的边框
- Android自定义带标题边框的Layout
- 去除Activity上面的标题边框
- Android自定义带标题边框的Layout
- div 边框显示标题
- html 表格嵌套 边框不重复的办法
- 嵌套表格 边框合并的css如何设置
- table表格嵌套,边框重叠变粗的解决
- MFC修改button的颜色、背景、边框、对话框标题
- MFC修改button的颜色、背景、边框、对话框标题
- MFC修改button的颜色、背景、边框、对话框标题
- MFC修改button的颜色、背景、边框、对话框标题
- MFC修改button的颜色、背景、边框、对话框标题
- PyUSB
- 对于解决androidstudio编辑时发生的错误Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
- 微信硬件开发系列教程AA2
- Thinkphp框架的_initialize()方法
- 关于SQL数据库的异地备份(二)
- 嵌套的标题边框
- yum安装(卸载)本地rpm包
- WPF触屏Touch事件在嵌套控件中的响应问题
- 【Android】退出多个Activity方法(四)
- js判断变量是否是数组(跨浏览器和ECMA)
- springboot+EHcache 实现文章浏览量的缓存和超时更新
- 微信硬件开发系列教程AA1
- C/C++疑问之为何一般采用循环队列而不是顺序队列
- cocos2D 程序代码分析 3