component.setToolTipText("string");eg:
JTextField command = new JTextField();
command.setToolTipText("You have to connect to database first");
JTextField command = new JTextField();
command.setToolTipText("You have to connect to database first");
然后给鼠标加上mousxxxEcevtListener
就让这command显示或者不显示(setVisiable)
...
通过鼠标事件
lab.setText("提示内容");
lab.setLocation(x,y);
jLabel1.setCursor(new Cursor(Cursor.HAND_CURSOR));
jLabel1.setToolTipText("hello");
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);
}
}
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));
}
}