Graphics 2D Retangulo

1 resposta
Y

Pessoal, duvida que esta me matando :S

Como faço para um Retangulo2D do Graphics2D receber valores de textfields?

O Textfield que esta com o valor esta em um jframe, e o retangulo esta em um jpanel…Como eu faço pra ele receber o valor?

1 Resposta

Y

Por exemplo, os textfields estao no jFrame Wallpaper:

colunaRetangulo = new JTextField("");
    colunaRetangulo.setBounds(300,90,50,20);
    colunaRetangulo.setVisible(true);

    linhaRetangulo = new JTextField("");
    linhaRetangulo.setBounds(400,90,50,20);
    linhaRetangulo.setVisible(true);

    larguraRetangulo = new JTextField("");
    larguraRetangulo.setBounds(500,90,50,20);
    larguraRetangulo.setVisible(true); 

    comprimentoRetangulo = new JTextField("");
    comprimentoRetangulo.setBounds(600,90,50,20);
    comprimentoRetangulo.setVisible(true);

Quando eu clico no botao1, as variaveis pegam o valor dos textfields:

botao1.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent e){
            if (retangulo.isSelected() == true && elipse.isSelected() == true && linha.isSelected() == true){

                    colunaRV = Float.parseFloat(colunaRetangulo.getText());
                    linhaRV = Float.parseFloat(linhaRetangulo.getText());
                    larguraRV = Float.parseFloat(larguraRetangulo.getText());
                    comprimentoRV = Float.parseFloat(comprimentoRetangulo.getText());

                    colunaEV = Float.parseFloat(colunaElipse.getText());
                    linhaEV = Float.parseFloat(linhaElipse.getText());
                    larguraEV = Float.parseFloat(larguraElipse.getText());
                    comprimentoEV = Float.parseFloat(comprimentoElipse.getText());

                    colunaLV = Float.parseFloat(colunaLinha.getText());
                    linhaLV = Float.parseFloat(linhaLinha.getText());
                    larguraLV = Float.parseFloat(larguraLinha.getText());
                    comprimentoLV = Float.parseFloat(comprimentoLinha.getText());

                RELJFrame jframeREL = new RELJFrame();
                jframeREL.setVisible(true);

Entao ele mostra o jframe que contem o jpanel onde aparecera o desenho:

Esse é o jpanel:

public class REL extends JPanel {
    Wallpaper jframeWallpaper = new Wallpaper();

    public Rectangle2D r(){
        return new Rectangle2D.Double(jframeWallpaper.colunaRV,jframeWallpaper.linhaRV,jframeWallpaper.larguraRV,jframeWallpaper.comprimentoRV);
    }
    public Line2D l(){
        return new Line2D.Double(jframeWallpaper.colunaLV,jframeWallpaper.linhaLV,jframeWallpaper.larguraLV,jframeWallpaper.comprimentoLV);
    }
    public Ellipse2D e(){
        return new Ellipse2D.Double(jframeWallpaper.colunaEV,jframeWallpaper.linhaEV,jframeWallpaper.larguraEV,jframeWallpaper.comprimentoEV);
    }

O problema é que, quando eu colocava pra transforma o valor dos textfields em double, ele dava um erro gigante, e agora que coloquei em float, nao deu conflito, só que aparece apenas um ponto branco no meio da tela, nada mais.

Alguem me diz como corrigir isso?

Criado 29 de março de 2011
Ultima resposta 29 de mar. de 2011
Respostas 1
Participantes 1