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

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

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

      1 ////////////////////////////////////////////////////////////////////////////////////
      2 //
      3 // 文件名: nButton.java
      4 //
      5 // 功  能: 自定義按鈕
      6 //
      7 // 備  注: 按鈕設(shè)置大小時,應(yīng)比實際圖片大小寬1、高1象素。
      8 //
      9 /////////////////////////////////////////////////////////////////////////////////////
     10 import java.awt.*;
     11 import java.awt.geom.*;
     12 import javax.swing.*;
     13 import java.io.*;
     14 
     15 public class nButton extends JButton
     16 {
     17     
     18     Image img;
     19     public Color back;
     20     ImageIcon icon = new ImageIcon ();
     21     public nButton()
     22     {
     23         super ();
     24         Dimension size = getPreferredSize ();
     25         size.width = size.height = Math.max (size.width, size.height);
     26         setPreferredSize (size);
     27         //這個調(diào)用使JButton不畫背景,而允許畫一個圓的背景。
     28         setContentAreaFilled (false);
     29     }
     30     
     31     
     32     public nButton(String label)
     33     {
     34         super (label);
     35         // 這些聲明把按鈕擴(kuò)展為一個圓而不是一個橢圓。
     36         Dimension size = getPreferredSize ();
     37         size.width = size.height = Math.max (size.width, size.height);
     38         setPreferredSize (size);
     39         
     40         //這個調(diào)用使JButton不畫背景,而允許我們畫一個圓的背景。
     41         setContentAreaFilled (false);
     42     }
     43     
     44     // 畫圓的背景和標(biāo)簽
     45     protected void paintComponent (Graphics g)
     46     {
     47         if (getModel ().isArmed ())
     48         {
     49             
     50             // 可以選一個高亮的顏色作為圓形按鈕類的屬性
     51             g.setColor (back);
     52         }
     53         else
     54         {
     55             g.setColor (back);
     56         }
     57         g.fillRect (00, getSize ().width, getSize ().height);
     58         
     59         //這個調(diào)用會畫一個標(biāo)簽和焦點矩形。
     60         super.paintComponent (g);
     61     }
     62     
     63     
     64     public void setImageIcon (Image img)
     65     {
     66         this.img = img;
     67     }
     68     
     69     // 用簡單的弧畫按鈕的邊界。
     70     protected void paintBorder (Graphics g)
     71     {
     72         //g.setColor(back);
     73         //g.drawRect(-1, -1, getSize().width + 1 , getSize().height + 1);
     74     }
     75     
     76     
     77     // 偵測點擊事件
     78     Shape shape;
     79     public boolean contains (int x, int y)
     80     {
     81         // 如果按鈕改變大小,產(chǎn)生一個新的形狀對象。
     82         if (shape == null ||
     83                 !shape.getBounds ().equals (getBounds ()))
     84         {
     85             shape = new Ellipse2D.Float (00, getWidth (), getHeight ());
     86         }
     87         return shape.contains (x, y);
     88     }
     89     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     90     //下面都是測試代碼
     91     public void init ()
     92     {
     93        icon = new ImageIcon (getClass ().getResource ("clear1.jpg"));
     94        this.setIcon((Icon) icon) ;
     95        icon = new ImageIcon (getClass ().getResource ("clear2.jpg"));
     96        this.setRolloverIcon((Icon) icon);
     97        this.setPressedIcon ((Icon) icon);
     98         //return icon;
     99     }
    100     public static void main (String args[])
    101     {
    102         JFrame frame = new JFrame ("test");
    103         frame.setLayout(null);
    104         nButton btn = new nButton();
    105         btn.init();
    106        btn.back = frame.getContentPane ().getBackground () ;
    107         btn.setToolTipText ("test");
    108         btn.setBounds (100,100 ,62,21) ;
    109         frame.add (btn);
    110         frame.setSize (300,300);
    111         frame.setVisible (true);
    112         frame.setDefaultCloseOperation (3);
    113     }
    114     
    115 }
    116 
    117 
    posted on 2007-02-06 16:58 -274°C 閱讀(389) 評論(0)  編輯  收藏 所屬分類: JAVA

    常用鏈接

    留言簿(21)

    隨筆分類(265)

    隨筆檔案(242)

    相冊

    JAVA網(wǎng)站

    關(guān)注的Blog

    搜索

    •  

    積分與排名

    • 積分 - 914507
    • 排名 - 40

    最新評論

    主站蜘蛛池模板: 久久aⅴ免费观看| 亚洲AV无码乱码精品国产| 亚洲综合av一区二区三区| 又粗又硬又黄又爽的免费视频 | 国产真人无遮挡作爱免费视频| 一级毛片免费不卡直观看| 日韩精品一区二区亚洲AV观看 | 日本道免费精品一区二区| 亚洲第一永久在线观看| 国产91在线免费| 久久久久免费看黄a级试看| 亚洲国产av玩弄放荡人妇| 亚洲成a人片在线观看日本| 最新中文字幕电影免费观看| 一级成人生活片免费看| 亚洲五月综合缴情婷婷| 激情综合色五月丁香六月亚洲| 日本阿v免费费视频完整版| 一级午夜a毛片免费视频| 国产成人精品亚洲2020| 亚洲精品无码成人片久久| 成年轻人网站色免费看| 手机看片国产免费永久| 亚洲国产精品无码第一区二区三区| 日韩va亚洲va欧洲va国产| 日韩伦理片电影在线免费观看| 国产在线一区二区综合免费视频| 亚洲国产av玩弄放荡人妇| 久久青青草原亚洲av无码app| 免费一级特黄特色大片在线| 四虎在线免费视频| 成人无码区免费A∨直播| 最新亚洲人成无码网站| 亚洲人成黄网在线观看| 久久精品国产亚洲| 亚洲无码视频在线| 国产麻豆剧传媒精品国产免费| 最近2019中文字幕免费大全5| 99视频在线免费观看| 成在线人直播免费视频| 亚洲精品国产综合久久久久紧 |