嵌套的标题边框
標題邊框可以與其他邊框對象嵌套使用,默認的標題邊框可以被嵌套的邊框取代,但是標題文字部分依然會顯示在正確的位置上。本實例通過該原理實現了標題邊框與其他邊框的嵌套效果,實例運行效果如圖所示,界面中顯示了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種常用邊框的組合嵌套效果,實際上創建標題邊框的構造方法中可以指定任意邊框對象,所以不必局限于本實例嵌套的邊框類型。
總結
- 上一篇: bt种子文件是什么(包括bt文件结构)
- 下一篇: 北京“曼联梦剧场”项目开业,迎接中国球迷