Estou tentando colocar um JToolTipText como aviso para um JTextField. Quando o usuário digita algo errado o JToolTipText mostra imediatamente o erro sobre o campo. O problema é que não estou conseguindo fazer com o JToolTipText. Alguém poderia me dar uma dica?? Obrigado.
Vc pode dar uma olhada na classe javax.swing.JToolTip !!!
Acho ela resolve o seu problema.
Iai Heber, blz??
O lance é que eu já tentei com a classe JToolTip. O problema é que o objeto criado da classe JToolTip aparece apenas sobre o cursor do mouse e não sobre o objeto de JButton, por exemplo. O que eu quero é que apareça uma mensagem do tipo JToolTip sobre um componente, como o JButton ou JTextField e não apenas sobre o mouse. Será que vc sabe como fazer isto? Obrigado por qualquer ajuda.
Eu fiz um exemplo bem simples e fraco …
Para você utilizar terá que tratar mais coisas, tais como o tamanho do texto para o tooltip ficar com o tamanho legal.
[code]/*
- Created on 07/04/2004
*/
import java.awt.BorderLayout;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.JToolBar;
import javax.swing.JToolTip;
/**
-
@author Heber
*/
public class JToolTipErrorExample extends JDialog{JToolTip tip;
public JToolTipErrorExample(){
super(new JDialog(),"Testando JToolTip");tip = new JToolTip(); JToolBar bar = new JToolBar(); JTextField text = new JTextField(); text.addKeyListener( new KeyAdapter() { public void keyReleased(KeyEvent e) { JTextField t = (JTextField)e.getSource(); if(t.getText().length() > 10){ tip.setLocation(30,100); tip.setTipText("Número maior que 10"); int height = tip.getFontMetrics(tip.getFont()).getHeight(); tip.setSize(150,height); tip.setVisible(true); } } } ); bar.add(text); JPanel p = new JPanel(); p.setLayout(null); p.add(tip); this.getContentPane().setLayout(new BorderLayout()); this.getContentPane().add(bar,BorderLayout.NORTH); this.getContentPane().add(p,BorderLayout.CENTER); this.setSize(400,400); this.setVisible(true);
}
public static void main(String[] args) {
new JToolTipErrorExample().addWindowListener(
new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}
);
}
}[/code]
Como você pode ver eu setei a posição e o tamanho do JToolTip, outra coisa muito importante é que você terá que colocar ele em algum Container (Pode ser até um Pop-Up) para poder ser visto!!
Espero que isso lhe sirva para seu propósito…