<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    從制造到創(chuàng)造
    軟件工程師成長之路
    posts - 292,  comments - 96,  trackbacks - 0
    需求:用實線把各個面板圈起來,然后把面板的名字寫在圈圈的左上角。

    原始畫面:


    由于原來的程序使用的是AWT中的Panel,而這個控件我們沒有設置titleBorder的方法。
    現在將更新為Swing中的JPanel面板,代碼分別為:
    舊代碼:
        Panel pRoboCtrl=new Panel();
        pRoboCtrl.setLayout(
    new GridLayout(5125));
        
        
    // Robot控制面板的第一排,面板的標題
            Panel pR1=new Panel(); 
            pR1.setLayout(
    new GridLayout(1123));
         
            
    //Row One
        pR1.add(new Label("Robot Control",Label.CENTER));
    新代碼:
        JPanel pRoboCtrl=new JPanel();
        pRoboCtrl.setLayout(
    new GridLayout(4125));
        Border titleBorder1
    =BorderFactory.createTitledBorder("Robot Control");            
        pRoboCtrl.setBorder(titleBorder1);   
    原來的處理方式是將一個Label放到Panel中,然后將這個Panel放到外層的Panel中,新方式是將外層Panel定義成JPanel,然后設置Border的值為BorderFactory產生的一個實例。



    解決這個問題后,新問題又來了,兩個JPanel中的內容不一樣,上面多,下面少,但是現在面板卻是一樣大,要改成面板高度自動適應。
    其實這只需要修改一行代碼就可以了,代碼如下:
    舊代碼:
    CP.setLayout(new GridLayout(3125));  
    新代碼:
    CP.setLayout(new BoxLayout(CP, BoxLayout.Y_AXIS)); // 沿垂直方向布置組件
    舊代碼的處理方式是網格布局,新代碼的方式是用BoxLayout布局管理器,它會按要求垂直或水平分布。

    以下代碼創(chuàng)建了一個JPanel容器,它采用垂直 BoxLayout,在這個容器中包含兩個Button,這兩個Button沿垂直方向分布,并且保持像素為 5 的固定垂直間隔。
        JPanel panel = new JPanel();
        panel.setLayout(
    new BoxLayout(panel, BoxLayout.Y_AXIS));// 沿垂直方向布置組件
        panel.add(new JButton("Button1"));
        panel.add(Box.createVerticalStrut(
    5));
        panel.add(
    new JButton("Button2"));

    源代碼:下載
    posted on 2008-04-29 16:16 CoderDream 閱讀(15630) 評論(2)  編輯  收藏 所屬分類: 經驗點滴學習筆記

    FeedBack:
    # re: Java中為面板(JPanel)添加標題
    2008-07-09 23:12 | azack
    panel.setBorder(BorderFactory.createTitledBorder("標題"));


    BorderFactory中的方法:
    static TitledBorder createTitledBorder(Border border)
    創(chuàng)建一個空標題的新標題邊框,使其具有指定的邊框對象、默認的文本位置(位于頂線上)、默認的調整 (leading),以及默認的字體和文本顏色(由當前外觀確定)。

    static TitledBorder createTitledBorder(Border border, String title)
    向現有邊框添加一個標題,使其具有默認的位置(位于頂線上)、默認的調整 (leading),以及默認的字體和文本顏色(由當前外觀確定)。

    static TitledBorder createTitledBorder(Border border, String title, int titleJustification, int titlePosition)
    向現有邊框添加一個標題,使其具有指定的位置和默認字體和文本顏色(由當前外觀確定)。

    static TitledBorder createTitledBorder(Border border, String title, int titleJustification, int titlePosition, Font titleFont)
    向現有邊框添加一個標題,使其具有指定的位置和默認的文本顏色(由當前外觀確定)。

    static TitledBorder createTitledBorder(Border border, String title, int titleJustification, int titlePosition, Font titleFont, Color titleColor)
    向現有邊框添加一個標題,使其具有指定的位置、字體和顏色。
      回復  更多評論
      
    # 面板的嵌套
    2014-06-09 15:15 |
    謝謝  回復  更多評論
      

    <2008年4月>
    303112345
    6789101112
    13141516171819
    20212223242526
    27282930123
    45678910

    常用鏈接

    留言簿(9)

    我參與的團隊

    隨筆分類(245)

    隨筆檔案(239)

    文章分類(3)

    文章檔案(3)

    收藏夾(576)

    友情鏈接

    搜索

    •  

    積分與排名

    • 積分 - 459813
    • 排名 - 114

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲午夜精品国产电影在线观看| 亚洲成av人片一区二区三区| 亚洲av色影在线| 国产精品视频全国免费观看| 国产zzjjzzjj视频全免费 | 亚洲精品在线电影| 久久免费动漫品精老司机| 午夜亚洲www湿好大| 99热这里只有精品6免费| 亚洲大片免费观看| 男男AV纯肉无码免费播放无码| 一本色道久久88亚洲精品综合| 成人啪精品视频免费网站| 蜜桃传媒一区二区亚洲AV| 亚洲福利视频一区二区| 在线观看免费黄网站| 亚洲制服中文字幕第一区| 国产免费一区二区三区| 亚洲色少妇熟女11p| www.亚洲精品.com| 在线观看免费播放av片| 亚洲精品免费在线视频| 成人超污免费网站在线看| 狼色精品人妻在线视频免费| 亚洲日韩乱码中文无码蜜桃臀网站| 久久久久免费精品国产小说| 亚洲国产av高清无码| 四虎国产精品免费久久影院| 精品一区二区三区高清免费观看| 久久精品国产精品亚洲艾| 永久免费毛片在线播放| 四虎精品免费永久免费视频| 亚洲国产精品lv| 免费无码黄网站在线观看| 亚欧乱色国产精品免费视频| 亚洲系列国产精品制服丝袜第| 国产老女人精品免费视频| 免费人成在线观看视频高潮| 亚洲18在线天美| 亚洲综合国产一区二区三区| 2020久久精品国产免费|