<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

    最新評論

    主站蜘蛛池模板: 亚洲不卡1卡2卡三卡2021麻豆| 国产亚洲人成A在线V网站| 亚洲av永久无码精品网站| 黄桃AV无码免费一区二区三区 | 亚洲第一成年人网站| 午夜免费福利视频| 亚洲第一AV网站| 久久成人无码国产免费播放| 亚洲好看的理论片电影| 小日子的在线观看免费| 亚洲伊人久久大香线蕉在观| 久久精品国产免费观看 | 处破女第一次亚洲18分钟| 国产在线观看免费完整版中文版| 国产精品亚洲AV三区| 亚洲国产主播精品极品网红| 国产成人无码精品久久久久免费| 亚洲宅男天堂在线观看无病毒| 久久久久国色av免费看| 久久夜色精品国产噜噜噜亚洲AV| 成人在线免费看片| 国产精品亚洲综合天堂夜夜| 国产啪亚洲国产精品无码| 久久免费观看国产精品| 亚洲av永久无码嘿嘿嘿| 国产一区二区三区免费视频| 中文字幕免费播放| 91亚洲性爱在线视频| 亚洲M码 欧洲S码SSS222| 中文无码成人免费视频在线观看 | 亚洲成人免费网址| 老子影院午夜伦不卡亚洲| 亚洲日韩中文字幕在线播放| 国产免费的野战视频| 新最免费影视大全在线播放| 亚洲短视频男人的影院| 最新69国产成人精品免费视频动漫| 一级看片免费视频| 亚洲欧洲国产综合| 亚洲欧洲日本在线| 久久久久久免费视频|