Exibir dica em um elemento plotado pelo getGraphics()

3 respostas
M

Gostaria de criar uma dica para um elemento plotado pelo getGraphics() . Eu conheço o setToolTipText, mas não sei se é possível utilizá-lo neste caso, já tentei e não consegui. Alguém pode me ajudar?

Segue abaixo o código:

import java.awt.BorderLayout;  
import java.awt.Color;  
import java.awt.Graphics;  
import java.awt.event.ActionEvent;  
import java.awt.event.ActionListener;  
  
import javax.swing.JButton;  
import javax.swing.JFrame;  
import javax.swing.JPanel;  
  
public class DesenhaQuadrado extends JFrame {    
  
    public static void main(String args[]){  
        final JFrame janela = new JFrame();  
        final JPanel jp = new JPanel();  
        JButton bt = new JButton("Desenhar!");  
        bt.addActionListener(new ActionListener(){  
            public void actionPerformed(ActionEvent e) {  
            	jp.getGraphics().setColor(Color.red);
                jp.getGraphics().drawRect(10,10,20,20);   ///// neste elemento eu quero exibir a dica!!  
            }         
        });  
        janela.add(jp, BorderLayout.CENTER);  
        janela.add(bt, BorderLayout.SOUTH);  
        janela.setSize(200, 200);  
        janela.setLocationRelativeTo(null);  
        janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
        janela.setVisible(true);  
    }  
       
}

3 Respostas

ViniGodoy

Para o Swing, elementos plotados pelo Graphics não existem. Eles são desenhados na tela e nem sequer serão guardados em qualquer tipo de memória.
Por exemplo, desenhe o seu retângulo nesse método de botão, minimize e maximize a tela, você vai ver que o retângulo irá desaparecer quando a tela for repintada.

Amtes de partir para voos mais altos, como reagir ao clique do mouse, sugiro que você estude um pouco como funciona a arquitetura do Java 2D e de desenho de componentes. Eis bons links sobre o assunto:
http://java.sun.com/docs/books/tutorial/uiswing/painting/
http://java.sun.com/docs/books/tutorial/2d/TOC.html

M

Valeu pelas dicas, de fato sou iniciante em Java e ainda confundo alguns conceitos, mas tenho me dedicado e fico cada vez mais interessado pelo assunto. Estou desenvolvendo um pequeno trabalho da faculdade onde superar esta dúvida do getGraphics é um passo fundamental, peço ajuda.

R

Sabe dizer de que distribuição/ versão do java.awt.Graphics, o método getGraphics pertence, pois estou usando um livro que não menciona esse método e tb quando procurei na especificação da sun para JEE não encontrei a descrição deste método pois gostaria de saber que tipos ele suporta…?

sds
obrigada!

Criado 18 de setembro de 2009
Ultima resposta 20 de nov. de 2009
Respostas 3
Participantes 3