Graphics2D é uma classe abstrata, portanto não se pode instanciar (dá uma olhada na "nomenclatura" do erro).
Tenta isso:
Graphics2D g2 = (Graphics2D) g.create();
*/
ViniGodoy
Onde você colocou esse código?
O desenho com o Graphics deve ser feito nos métodos paintComponent ou paint, não em outros locais. Esses métodos já vão te passar o objeto Graphics2D.
G
gabrielost
ViniGodoy:
Onde você colocou esse código?
O desenho com o Graphics deve ser feito nos métodos paintComponent ou paint, não em outros locais. Esses métodos já vão te passar o objeto Graphics2D.
Eu acho que estou fazendo tudo errado. =X
Olhei um tutorial do seu site mas tb não entendi muito bem.
Eu já tenho uma JFrame com alguns componentes GUI. É neste ambiente que eu quero desenhar uma linha.
Cara, teria como vc me passar um código completo pra desenhar uma simples linha? Fiquei o dia todo tentando mas nada… =(
Desde já agradeço.
ViniGodoy
Posta o código todo que vc tem até agora.
G
gabrielost
Este é o código do frame:
importjavax.swing.JFrame;importjavax.swing.JButton;importjava.awt.event.ActionListener;importjava.awt.event.ActionEvent;importjavax.swing.JSlider;importjava.awt.Graphics;importjava.awt.Graphics2D;importjava.awt.geom.Line2D;publicclassFrameextendsJFrame{JButtonm_chegarTremDoLadoEsquerdo=newJButton();JButtonm_chegarTremDoLadoDireito=newJButton();publicFrame(){setTitle("Comunicação entre Processos");setDefaultCloseOperation(EXIT_ON_CLOSE);setSize(800,600);setResizable(false);setVisible(true);setLayout(null);m_chegarTremDoLadoEsquerdo.setText("Chegar Trêm do Lado Esquerdo");m_chegarTremDoLadoEsquerdo.setBounds(0,0,220,20);m_chegarTremDoLadoEsquerdo.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventevento){newTrem("esquerdo").start();}});add(m_chegarTremDoLadoEsquerdo);m_chegarTremDoLadoDireito.setText("Chegar Trêm do Lado Direito");m_chegarTremDoLadoDireito.setBounds(220,0,220,20);m_chegarTremDoLadoDireito.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventevento){newTrem("direito").start();}});add(m_chegarTremDoLadoDireito);}}
A reta poderia ser desenhada quando o botão m_chegarTremDoLadoEsquerdo fosse pressionado.
Desde já agradeço.
ViniGodoy
Ué, e cadê o seu código de desenho?
G
gabrielost
Não tem cara… Hehe! Eh o q eu estou te pedindo. =)
Tentei de várias formas mas só perdi tempo. =(
Tudo o que eu quero é aprender a desenhar uma simples reta. Sabendo isso o resto eu consigo. =)
\o
JonnyStayle
Amigo só uma dica tente usar variaveis com nomes mas pequenos ou diretos,
se nao quando voce tiver que dar nome a uma variavel complexa seu nome
vai ficar muito grande: