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

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

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

    牛刀繼續(ToolTip也瘋狂)

    ToolTip  對 就是那家伙 丑的要命..一個方塊 里面幾個字 =.=..... 那不是我的作為!!我要將它帥起來!!
    (本來打算明天更新的..被群里一位先生拼命的催啊催啊催....)

    射像機! 鏡頭向我這里看齊!!!!

    效果圖:
       


     

    package ToolTip;

    import java.awt.BasicStroke;
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.FontMetrics;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.RenderingHints;
    import java.awt.Shape;
    import java.awt.geom.RoundRectangle2D;

    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JLabel;
    import javax.swing.JToolTip;



    //繼承自JToolTip
    class CustomToolTip extends JToolTip {

     
    public void paintComponent(Graphics g) {

    //形狀 自己看著辦..自己覺的什么漂亮就用什么
     Shape round = new RoundRectangle2D.Float(4,4,
            
    this.getWidth( )-1-8,
            
    this.getHeight( )-1-8,
      
    15,15);
     
     Graphics2D g2 
    = (Graphics2D)g;
     g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
      RenderingHints.VALUE_ANTIALIAS_ON);
     g2.setColor(Color.white);
     g2.fill(round);


     g2.setColor(Color.gray);
     g2.setStroke(
    new BasicStroke(5));
     g2.draw(round);
     g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
      RenderingHints.VALUE_ANTIALIAS_DEFAULT);


     String text 
    = this.getComponent( ).getToolTipText( );
     
    if(text != null{
               FontMetrics fm 
    = g2.getFontMetrics( );
               
    int h = fm.getAscent( );
               g2.setColor(Color.black);
         g2.drawString(text,
    10,(this.getHeight( )+h)/2);
      }

     }

     
    public Dimension getPreferredSize( ) {
      Dimension dim 
    = super.getPreferredSize( );
      
    return new Dimension((int)dim.getWidth( )+20,
               (
    int)dim.getHeight( )+20);
     }

     
    public CustomToolTip( ) {
      
    super();
      
    //不用介紹了,
      this.setOpaque(false);
     }

     
    }

    //用到時 就用這里 JButton jb = new CustomJButton ();
    //可以自己更改 比如你不想要JButton 你想要JLabel 或者其他的 就 extends JLabel
    // 然后 JLabel jl = new CustomJButton(); 當然 名字隨便你換不換..(換了比較規范)
    public class CustomJButton extends JButton 
     
    /**
      * 
      
    */

     
    private static final long serialVersionUID = 1L;
     JToolTip _tooltip;
     

     
    public CustomJButton(String string, ImageIcon icon) {
    //傳入的JButton 字符串和JButton的Icon 如果不需要.可以直接刪掉
    //或者自己在加一個無參數的方法..
      super(string,icon);
      _tooltip 
    = new CustomToolTip( );
      _tooltip.setComponent(
    this);
     }


     
    public JToolTip createToolTip( ) {
      
    return _tooltip;
     }

    }


    下面寫一個Main類來測試一下


    import javax.swing.BoxLayout;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;

    public class ToolTipsHack {
     
     
    public static void main(String[] args) {
      JButton button;

      JFrame frame 
    = new JFrame("Tool Tips Hack");
      BoxLayout layout 
    = new BoxLayout(
       frame.getContentPane( ),
       BoxLayout.Y_AXIS);
      frame.getContentPane( ).setLayout(layout);

      button 
    = new CustomJButton("啊啊",null );
      button.setText(
    "Open");
      button.setToolTipText(
    "相信牌ToolTip");
      frame.getContentPane( ).add(button);

      button 
    = new CustomJButton("啊啊啊",null);
      button.setText(
    "Save");
      button.setToolTipText(
    "Save the currently open file");
      frame.getContentPane( ).add(button);

      frame.getContentPane( ).add(
    new JLabel("a label"));
      frame.getContentPane( ).add(
    new JLabel("a label"));
      frame.getContentPane( ).add(
    new JLabel("a label"));

      frame.pack( );
      frame.setVisible(
    true);//或者直接 frame.show( ); 
     }
     
    }


     



     

    posted on 2008-05-19 20:07 相信 閱讀(680) 評論(0)  編輯  收藏 所屬分類: Swing文章

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    公告

    不顯示applet

    常用鏈接

    留言簿(16)

    我參與的團隊

    隨筆檔案

    文章分類

    文章檔案

    新聞檔案

    相冊

    swingchina 專業搞Swing的網站

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 欧美在线看片A免费观看| 国产特黄一级一片免费| 久热中文字幕在线精品免费| 亚洲国产AV无码专区亚洲AV| 西西人体免费视频| 亚洲爆乳无码一区二区三区| 99re6在线精品免费观看| 亚洲线精品一区二区三区影音先锋| 国产亚洲人成在线影院| 免费看国产曰批40分钟| 免费人成再在线观看网站| 亚洲第一黄片大全| 久久免费观看视频| 亚洲高清在线视频| 国产一卡二卡四卡免费| 亚洲国产精品一区二区三区在线观看| 91九色精品国产免费| 亚洲一区二区三区高清在线观看| 成人毛片免费观看视频大全| www亚洲精品久久久乳| 亚洲国产成人乱码精品女人久久久不卡| jizz免费观看| 亚洲成AV人片在线观看ww| 免费人妻无码不卡中文字幕系| 亚洲国产午夜电影在线入口| 妞干网在线免费视频| 免费在线观看自拍性爱视频| 在线观看亚洲成人| 99久久精品日本一区二区免费| 亚洲精品GV天堂无码男同| 亚洲综合国产精品第一页| 久久成人免费电影| 亚洲一区二区三区写真| 成人午夜亚洲精品无码网站| 久久精品国产免费观看| 亚洲一日韩欧美中文字幕在线| 亚洲国产中文字幕在线观看| 中文字幕在线免费| 免费看一级毛片在线观看精品视频| 亚洲福利视频一区| 免费**毛片在线播放直播|