<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 // 備  注: 按鈕設置大小時,應比實際圖片大小寬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         //這個調用使JButton不畫背景,而允許畫一個圓的背景。
     28         setContentAreaFilled (false);
     29     }
     30     
     31     
     32     public nButton(String label)
     33     {
     34         super (label);
     35         // 這些聲明把按鈕擴展為一個圓而不是一個橢圓。
     36         Dimension size = getPreferredSize ();
     37         size.width = size.height = Math.max (size.width, size.height);
     38         setPreferredSize (size);
     39         
     40         //這個調用使JButton不畫背景,而允許我們畫一個圓的背景。
     41         setContentAreaFilled (false);
     42     }
     43     
     44     // 畫圓的背景和標簽
     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         //這個調用會畫一個標簽和焦點矩形。
     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         // 如果按鈕改變大小,產生一個新的形狀對象。
     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 閱讀(388) 評論(0)  編輯  收藏 所屬分類: JAVA

    常用鏈接

    留言簿(21)

    隨筆分類(265)

    隨筆檔案(242)

    相冊

    JAVA網站

    關注的Blog

    搜索

    •  

    積分與排名

    • 積分 - 914351
    • 排名 - 40

    最新評論

    主站蜘蛛池模板: 成人无码a级毛片免费| 成a人片亚洲日本久久| 先锋影音资源片午夜在线观看视频免费播放 | 亚洲精品无码久久久久久久| 人妻丰满熟妇无码区免费| 日木av无码专区亚洲av毛片| 亚洲一区免费观看| 亚洲网站视频在线观看| 国产曰批免费视频播放免费s| 亚洲乱码中文论理电影| 麻豆国产人免费人成免费视频| 亚洲日韩精品国产一区二区三区| 免费的一级黄色片| 久久99久久成人免费播放| 亚洲AV无码专区国产乱码4SE| 无码日韩精品一区二区免费暖暖 | 免费看一级一级人妻片| 亚洲乱码一区二区三区在线观看| 久久国产精品免费专区| 亚洲国产综合精品| 免费国产在线观看不卡| 最近中文字幕大全免费版在线| 亚洲精品日韩专区silk| 国产一区二区免费在线| 国产在线观看免费av站| 亚洲六月丁香六月婷婷色伊人| 成人免费无码精品国产电影| 国产vA免费精品高清在线观看| 亚洲视频精品在线观看| 国产日产成人免费视频在线观看| 久久国产乱子伦精品免费午夜 | 内射无码专区久久亚洲| 999zyz**站免费毛片| 亚洲一卡2卡4卡5卡6卡在线99| 四虎国产精品免费视| 免费国产黄网站在线观看可以下载| 亚洲免费视频观看| 亚洲综合色视频在线观看| 91精品成人免费国产片| 美女视频黄a视频全免费网站一区| 久久亚洲成a人片|