隨筆-46  評論-64  文章-2  trackbacks-0
          這個技巧比較Cool也比較基礎常用,關鍵技術是使用圖像重新繪制組件
          看下面demo的代碼
          import?java.awt.Insets;
          import?javax.swing.ImageIcon;
          import?javax.swing.JButton;

          public?class?ImageButton?extends?JButton?{

          ????
          private?static?final?long?serialVersionUID?=?7760427126786950870L;

          ????
          public?ImageButton(ImageIcon?icon)?{
          ????????setSize(icon.getImage().getWidth(
          null),icon.getImage().getHeight(null));
          ????????setIcon(icon);
          ????????setMargin(
          new?Insets(0,0,0,0));
          ????????setIconTextGap(
          0);
          ????????setBorderPainted(
          false);
          ????????setBorder(
          null);
          ????????setText(
          null);

          ????}

          }


          稍微要解釋一下的是講button的邊框都設置成為0,還有邊框的重繪設置false,我們可以用不同的貼圖表示按鈕被選中等的狀態

          使用這個組件的demoCode

          ????????ImageButton?button?=?new?ImageButton("images/*.png");
          ????????button.setPressedIcon(
          new?ImageIcon("images/*.png"));
          ????????button.setRolloverIcon(
          new?ImageIcon("images/*.png"));
          ????????button.setSelectedIcon(
          new?ImageIcon("images/*.png"));
          ????????button.setRolloverSelectedIcon(
          new?ImageIcon("images/*.png"));
          ????????button.setDisabledIcon(
          new?ImageIcon("images/*.png"));
          ????????button.setDisabledSelectedIcon(
          new?ImageIcon("images/*.png"));

          這個Hack要顯示效果好,關鍵就在于貼圖了,可見美工很重要。

          我準備每天Hack一篇

          更多內容,可以看Swing Hacks


          參考資料:
          ?"Swing Hacks by Joshua Marinacci and Chris Adamson. Copyright 2005 O'Reilly Media, Inc., 0-596-00907-0."
          posted on 2007-03-28 23:57 jht 閱讀(520) 評論(0)  編輯  收藏 所屬分類: J2SESwing Tips
          主站蜘蛛池模板: 宝坻区| 香河县| 西和县| 琼中| 武宣县| 玉门市| 孟州市| 济源市| 巫溪县| 乐昌市| 连云港市| 南宁市| 启东市| 郓城县| 宜昌市| 定襄县| 扶风县| 望城县| 偏关县| 布拖县| 故城县| 钦州市| 会宁县| 鹤峰县| 宽甸| 宜都市| 桑日县| 乌拉特前旗| 昌江| 呼玛县| 黎平县| 大港区| 专栏| 榆树市| 建宁县| 潮安县| 来凤县| 莱芜市| 平湖市| 保定市| 福泉市|