Buenas, he estado programando un programilla para mirar las funciones de las clases graficas pero me da un error y no me deja ejecutarlo.
El error es el siguiente:
No enclosing instance of type Ventana is accessible. Must qualify the allocation with an enclosing instance of type Ventana (e.g. x.new A() where x is an instance of Ventana). |
Os paso el codigo para que veais aer porque falla:
import java.awt.Color; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;
import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel;
public class Ventana {
class ventanita extends JFrame{ ventanita(){ JFrame ventana = new JFrame("TITULO"); this.setSize(Toolkit.getDefaultToolkit().getScreenSize()); this.setResizable(false); panel panel = new panel(); this.add(panel); this.setVisible(true); } } class panel extends JPanel{ panel(){ JPanel panel = new JPanel(); this.setBackground(Color.black); botoncierre b1 = new botoncierre(); this.add(b1); } } class botoncierre extends JButton{ JButton close = new JButton(); botoncierre(){ cierre cerrar = new cierre(); this.addActionListener(cerrar); } } class cierre implements ActionListener{ public void actionPerformed(ActionEvent e){ System.exit(0); } } public static void main(String[]args){ ventanita demo = new ventanita(); } }
|
El error esta en el codigo en rojo
Muchas gracias :D
corregido y repito es mejor trabajar en archivos separado
Ventana.java
import java.awt.Color;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Ventana {
public static void main(String[]args){
ventanita demo = new ventanita();
}
}
ventanita .java
import java.awt.Color;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
class ventanita extends JFrame{
ventanita(){
this.setSize(Toolkit.getDefaultToolkit().getScreenSize());
this.setResizable(false);
panel panel = new panel();
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.add(panel);
this.setVisible(true);
}
}
java panel
import java.awt.Color;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
class panel extends JPanel{
panel(){
JPanel panel = new JPanel();
this.setBackground(Color.black);
botoncierre b1 = new botoncierre();
this.add(b1);
}
}
cierre.java
import java.awt.Color;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
class cierre implements ActionListener{
public void actionPerformed(ActionEvent e){
System.exit(0);
}
}
muchos errores y todavia no tienes claro como trabajar con varias clases pero estas aprendiendo bien lo vasico es bueno que te equivoques la mañor cantidad de veces sigue asi mejoraras
por favor responde te lo suplico no me ignores