隨筆-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 閱讀(527) 評論(0)  編輯  收藏 所屬分類: J2SESwing Tips
          主站蜘蛛池模板: 石景山区| 佳木斯市| 株洲市| 淳化县| 徐闻县| 澄城县| 基隆市| 景德镇市| 松阳县| 中超| 永仁县| 晋中市| 南乐县| 陵水| 云霄县| 曲麻莱县| 新晃| 崇礼县| 蓝田县| 阿拉善盟| 宁波市| 华蓥市| 门头沟区| 奎屯市| 宝清县| 讷河市| 漳平市| 车险| 晋江市| 翁牛特旗| 大化| 通许县| 漳平市| 鄯善县| 江都市| 曲阳县| 友谊县| 资兴市| 沙河市| 新乡市| 田林县|