component.setToolTipText("string");eg:
JTextField command = new JTextField();
command.setToolTipText("You have to connect to database first");

解决方案 »

  1.   

    补充 ayala_strike(阿亚拉) 
    然后给鼠标加上mousxxxEcevtListener 
    就让这command显示或者不显示(setVisiable)
      

  2.   

    Label lab = new  Label();
    ...
    通过鼠标事件
    lab.setText("提示内容");
    lab.setLocation(x,y);
      

  3.   

    例如jLabel1,添加它的mouseEntered事件,在里面加入:
    jLabel1.setCursor(new Cursor(Cursor.HAND_CURSOR));
    jLabel1.setToolTipText("hello");
      

  4.   

    下面的代码是一个原型你加工一下:package helloworld;import java.awt.*;
    import javax.swing.*;
    import com.borland.jbcl.layout.*;
    import java.awt.event.*;
    import javax.swing.border.*;public class Frame3 extends JFrame
    {
      private JLayeredPane jPanel1 = new JLayeredPane();
      private XYLayout xYLayout1 = new XYLayout();
      private JButton jButton1 = new JButton();
      private JButton jButton2 = new JButton();
      private JButton jButton3 = new JButton();
      private Border border1;
      private JTextField jTextField1 = new JTextField();
      private Border border2;  public Frame3()
      {
        try
        {
          jbInit();
        }
        catch(Exception e)
        {
          e.printStackTrace();
        }
      }
      public static void main(String[] args)
      {
        Frame3 frame3 = new Frame3();
        frame3.setSize(400,300);
        frame3.show() ;
      }
      private void jbInit() throws Exception
      {
        border1 = BorderFactory.createLineBorder(Color.black,2);
        border2 = BorderFactory.createCompoundBorder(BorderFactory.createLineBorder(new Color(255, 250, 250),1),BorderFactory.createEmptyBorder(1,1,1,1));
        jPanel1.setLayout(xYLayout1);
        jButton1.setText("jButton1");
        jButton2.setText("jButton2");
        jButton3.setText("jButton3");
        jTextField1.setBackground(Color.yellow);
        jTextField1.setBorder(border2);
        jTextField1.setCaretColor(Color.pink);
        jTextField1.setText("jTextField1");
        jPanel1.addMouseListener(new java.awt.event.MouseAdapter()
        {
          public void mouseExited(MouseEvent e)
          {
            jPanel1_mouseExited(e);
          }
        });
        jPanel1.addMouseListener(new java.awt.event.MouseAdapter()
        {
          public void mouseEntered(MouseEvent e)
          {
            jPanel1_mouseEntered(e);
          }
          public void mouseExited(MouseEvent e)
          {
            jPanel1_mouseExited(e);
          }
        });
        this.getContentPane().add(jPanel1, BorderLayout.CENTER);
        jPanel1.add(jButton1,  new XYConstraints(57, 69, -1, -1));
        jPanel1.add(jButton2,  new XYConstraints(229, 84, -1, -1));
        jPanel1.add(jButton3,     new XYConstraints(116, 153, -1, -1));
        jPanel1.add(jTextField1,    new XYConstraints(183, 220, 106, -1));
      }
      public boolean isInBounds(int x, int y) {
          Component component = null;       for(int i=0;i<this.getComponentCount();i++) {
              component = this.getComponent(i);
              if(component.getX() <x && component.getY()< y && (component.getX() + component.getWidth()) >x && (component.getY() + component.getHeight()) >y) {
                 /* on an object  */
                return true;
             }
         }
         return false;
      }  void jPanel1_mouseExited(MouseEvent e)
      {
          jTextField1.setVisible(true);
          jTextField1.setText("I am a tooltips!");
          jTextField1.setLocation(e.getX(),e.getY()) ;
          jPanel1.moveToFront(jTextField1);
      }  void jPanel1_mouseEntered(MouseEvent e)
      {
           jTextField1.setVisible(false);
      }
    }
      

  5.   

    对不起,要加上cursorpackage helloworld;import java.awt.*;
    import javax.swing.*;
    import com.borland.jbcl.layout.*;
    import java.awt.event.*;
    import javax.swing.border.*;public class Frame3 extends JFrame
    {
      private JLayeredPane jPanel1 = new JLayeredPane();
      private XYLayout xYLayout1 = new XYLayout();
      private JButton jButton1 = new JButton();
      private JButton jButton2 = new JButton();
      private JButton jButton3 = new JButton();
      private Border border1;
      private JTextField jTextField1 = new JTextField();
      private Border border2;  public Frame3()
      {
        try
        {
          jbInit();
        }
        catch(Exception e)
        {
          e.printStackTrace();
        }
      }
      public static void main(String[] args)
      {
        Frame3 frame3 = new Frame3();
        frame3.setSize(400,300);
        frame3.show() ;
      }
      private void jbInit() throws Exception
      {
        border1 = BorderFactory.createLineBorder(Color.black,2);
        border2 = BorderFactory.createCompoundBorder(BorderFactory.createLineBorder(new Color(255, 250, 250),1),BorderFactory.createEmptyBorder(1,1,1,1));
        jPanel1.setLayout(xYLayout1);
        jButton1.setText("jButton1");
        jButton2.setText("jButton2");
        jButton3.setText("jButton3");
        jTextField1.setBackground(Color.yellow);
        jTextField1.setBorder(border2);
        jTextField1.setCaretColor(Color.pink);
        jTextField1.setText("jTextField1");
        jPanel1.addMouseListener(new java.awt.event.MouseAdapter()
        {
          public void mouseExited(MouseEvent e)
          {
            jPanel1_mouseExited(e);
          }
        });
        jPanel1.addMouseListener(new java.awt.event.MouseAdapter()
        {
          public void mouseEntered(MouseEvent e)
          {
            jPanel1_mouseEntered(e);
          }
          public void mouseExited(MouseEvent e)
          {
            jPanel1_mouseExited(e);
          }
        });
        this.getContentPane().add(jPanel1, BorderLayout.CENTER);
        jPanel1.add(jButton1,  new XYConstraints(57, 69, -1, -1));
        jPanel1.add(jButton2,  new XYConstraints(229, 84, -1, -1));
        jPanel1.add(jButton3,     new XYConstraints(116, 153, -1, -1));
        jPanel1.add(jTextField1,    new XYConstraints(183, 220, 106, -1));
      }
      public boolean isInBounds(int x, int y) {
          Component component = null;       for(int i=0;i<this.getComponentCount();i++) {
              component = this.getComponent(i);
              if(component.getX() <x && component.getY()< y && (component.getX() + component.getWidth()) >x && (component.getY() + component.getHeight()) >y) {
                 /* on an object  */
                return true;
             }
         }
         return false;
      }  void jPanel1_mouseExited(MouseEvent e)
      {
          jTextField1.setVisible(true);
          setCursor(new Cursor(Cursor.HAND_CURSOR));
          jTextField1.setText("I am a tooltips!");
          jTextField1.setLocation(e.getX(),e.getY()) ;
          jPanel1.moveToFront(jTextField1);
      }  void jPanel1_mouseEntered(MouseEvent e)
      {
           jTextField1.setVisible(false);
           setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
      }
    }