Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

gadelhas

Desenhar Linha, ou circulo...

Mensagens Recomendadas

gadelhas

Viva;

Alguem me indica se possível como desenhar uma linha numa Desktop Application do NetBeans.

Tipo carregar num botão e desenhar uma linha ou um circulo.

Já importei a class Graphics, mas não tou a conseguir.

Obrigado


Abraço Gadelhas

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Knitter

Precisas de uma área para desenhar, e se estás a usar uma Desktop Application criada com o NetBeans IDE pode ser mais complicado já que estás a usar a Swing Application Framework.

Não sabendo o que tens agora é mais difícil encontrar uma solução mas o mais fácil será criares uma classe que estenda de JPanel, e redefinires o método paintComponent. Nesse método convertes a variável Graphics para um Graphics2D, que é o tipo real que é passado ao método, e usas os métodos drawXXX para desenhar linhas, círculos e o que precisares.

Este tutorial, http://wiki.portugal-a-programar.org/java:jpanel_imagem_fundo , pode servir de base já que o princípio é o mesmo, em vez de desenhares uma imagem, usas os métodos para linhas ou outras formas geométricas.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
gadelhas

Viva;

Obrigado pela resposta ao tópico. Contudo não cheguei lá, tou mesmo nos inicios dos inicios de java.

Na minha classe tenho isto;

package quickroute;

import java.awt.Graphics;

import java.awt.Color;

import javax.swing.JPanel;

public class JDesenho extends JPanel{

        int xi;

        int yi;

        int xf;

        int yf;

    public JDesenho(int xinicial, int yinicial,int xfinal, int yfinal){

        xi=xinicial;

        yi=yinicial;

        xf=xfinal;

        yf=yfinal;

    }

    public void paint(Graphics g) {

        g.setColor(Color.green);

        g.fillRect(5, 60, 180, 20);

    }

}

A ideia era depois, carregar num botao e passar as coordenadas para o construtor e desenhar o rectangulo, mas népias.

O código que tenho no botaõ é este, mas dá erro;

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                       

      JDesenho g = new JDesenho(0,0,45,45);

        g.paint(null);

    } 

Alguma possibilidade de ajuda adicional?

Obrigado.


Abraço Gadelhas

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Knitter

O método paint não é para ser invocado directamente desse modo, e além disso, se estás a passar um null para dentro do método como é que esperas que seja possível invocar métodos na variável g?

Vê o tutorial que está na wiki, tenta repetir o que lá está, adaptar ao que tens é tão simples como retirar o drawImage e substituir por um método equivalente.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
gadelhas

Viva;

Tentei e já consigo desenhar uma linha, mas não através de um botão, ou seja apenas subtitui o drawimage pelo drawline, e mal o programa arranca a linha aparece.


Abraço Gadelhas

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Knitter

O que o botão vai fazer é controlar uma ou mais variáveis que dizem se é para desenhar ou não. O botão não vai invocar nenhum método de desenho senão, dado que os componentes são desenhados várias vezes por segundo, nem vias a linha a aparecer.

Tens de criar uma forma de saber se existem formas para desenhar controlada através do botão.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.