Tengo que hacer un programa en 2 JFrames.
El primero Tiene que tener un JPanel que muestre una figura drawOval, drawRect.. etc.
El segundo Jframe tiene que tener 3 Botones uno que inicie dibujando la figura y otros 2 que la muevan hacia adelante y hacia atras en "X"
el problema es que me marca un error al precionar los botones creo que no se comunican las ventanas. dejo el codigo de las 2 clases.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Ventana extends JFrame implements ActionListener{
public JButton boton1,boton2,boton3;
public JPanel panel;
public JTextField tex;
public String n;
public int n2=0;
public static int x1=100, x2=105, x3=130;
public static void main(String[] args){
Ventana macro = new Ventana();
macro.setSize(400,450);
macro.createGUI();
macro.setVisible(true);
macro.setTitle("Carrito Chingon");
Ventana macro2 =new Ventana();
macro2.setSize(400,80);
macro2.createGUI2();
macro2.setVisible(true);
macro2.setTitle("Controles");
}
public void createGUI2(){
setDefaultCloseOperation(EXIT_ON_CLOSE);
Container window2 = getContentPane();
window2.setLayout(new FlowLayout());
setLocation(500,500);
boton3 = new JButton("Carro");
window2.add(boton3);
boton3.addActionListener(this);
boton1 = new JButton("Adelante");
window2.add(boton1);
boton1.addActionListener(this);
boton2 = new JButton("Atras");
window2.add(boton2);
boton2.addActionListener(this);
}
public void createGUI(){
setDefaultCloseOperation(EXIT_ON_CLOSE);
Container window = getContentPane();
window.setLayout(new FlowLayout());
setLocation(500,40);
panel = new JPanel();
panel.setPreferredSize(new Dimension(350,350));
panel.setBackground(Color.lightGray);
window.add(panel);
}
@Override
public void actionPerformed(ActionEvent event){
Object origen = event.getSource();
if(origen==boton1)
{
Graphics papel = panel.getGraphics();
papel.setColor(Color.lightGray);
papel.fillRect(0, 0, 350, 350);
DibujoC Dc2 = new DibujoC();
Dc2.MoverI(panel);
}
else if(origen==boton3){
DibujoC Dc = new DibujoC();
Dc.Carro(panel);
}
else if(origen==boton2){
Graphics papel = panel.getGraphics();
papel.setColor(Color.lightGray);
papel.fillRect(0, 0, 350, 350);
DibujoC Dc3 = new DibujoC();
Dc3.MoverD(panel);
}
}}
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;
public class DibujoC extends Ventana {
public DibujoC(){
}
public void Carro(JPanel panel){
Graphics papel = panel.getGraphics();
papel.drawRect(Ventana.x1, 100, 55, 30 );
papel.fillOval(Ventana.x2, 120, 20, 20 );
papel.fillOval(Ventana.x3, 120, 20, 20 );
}
public void MoverI(JPanel panel){
x1=x1-1; x2=x2-1; x3=x3-1;
Graphics papel = panel.getGraphics();
papel.drawRect(Ventana.x1, 100, 55, 30 );
papel.fillOval(Ventana.x2, 120, 20, 20 );
papel.fillOval(Ventana.x3, 120, 20, 20 );
}
public void MoverD(JPanel panel){
x1=x1+1; x2=x2+1; x3=x3+1;
Graphics papel = panel.getGraphics();
papel.drawRect(Ventana.x1, 100, 55, 30 );
papel.fillOval(Ventana.x2, 120, 20, 20 );
papel.fillOval(Ventana.x3, 120, 20, 20 );
}
}
Espero me puedan ayudar Gracias