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

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

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

    牛刀繼續(xù)(ToolTip也瘋狂)

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

    射像機(jī)! 鏡頭向我這里看齊!!!!

    效果圖:
       


     

    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) {

    //形狀 自己看著辦..自己覺(jué)的什么漂亮就用什么
     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);
     }

     
    }

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

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

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


     
    public JToolTip createToolTip( ) {
      
    return _tooltip;
     }

    }


    下面寫(xiě)一個(gè)Main類(lèi)來(lái)測(cè)試一下


    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) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Swing文章

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

    導(dǎo)航

    統(tǒng)計(jì)

    公告

    不顯示applet

    常用鏈接

    留言簿(16)

    我參與的團(tuán)隊(duì)

    隨筆檔案

    文章分類(lèi)

    文章檔案

    新聞檔案

    相冊(cè)

    swingchina 專(zhuān)業(yè)搞Swing的網(wǎng)站

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲国产精品成人| 51在线视频免费观看视频| 欧美亚洲国产SUV| 亚洲色欲色欲www| 亚洲成a人片7777| 亚洲精品第五页中文字幕| 久久精品国产亚洲av水果派| 久久久久亚洲av无码专区导航 | 日韩亚洲人成网站| 色欲aⅴ亚洲情无码AV蜜桃| 亚洲av永久中文无码精品综合| 亚洲日韩精品无码AV海量| 亚洲av无码日韩av无码网站冲| 精品久久亚洲一级α| 老司机免费午夜精品视频| 香港经典a毛片免费观看看| 一级看片免费视频囗交| 在线观看免费视频一区| 无码人妻久久一区二区三区免费| 久久青草免费91观看| 13一14周岁毛片免费| 好先生在线观看免费播放| 免费无码黄动漫在线观看| 免费一级毛片一级毛片aa| 亚洲中文字幕无码专区| 亚洲av无码潮喷在线观看 | 日韩毛片免费在线观看| 亚洲精品色婷婷在线影院| 亚洲国产精品乱码一区二区| 久久精品国产亚洲77777| 亚洲综合一区国产精品| 美女被爆羞羞网站在免费观看 | 亚洲成人免费在线观看| 欧洲亚洲国产精华液| 插鸡网站在线播放免费观看| 99久久免费精品视频| 好先生在线观看免费播放| 亚洲Av无码乱码在线观看性色| 国产V亚洲V天堂无码| 亚洲精品免费网站| 中美日韩在线网免费毛片视频|