
18/07/2008, 08:36
|
|
Respuesta: Interfaz Gráfica en Java Hola AdanAlsi,
es que MiVentana.java y Ventana.java son dos métodos que tengo creados: MiVentana.java Cita: package utilidades;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.WindowEvent;
import javax.swing.*;
class MiVentana extends Ventana{
private Boton btnAceptar;
public MiVentana(){
super();
}
public MiVentana(String titulo){
super(titulo);
}
public MiVentana(String titulo, Controlador controlador){
super(titulo,controlador);
}
public void crearComponentesVentana(){
JPanel panel=new JPanel(new GridLayout(2,1));
JPanel fila1=new JPanel(new FlowLayout(FlowLayout.LEFT));
fila1.add(new JLabel("Dni:"));
fila1.add(new JTextField(10));
fila1.add(new JLabel("Nombre:"));
fila1.add(new JTextField(10));
fila1.add(new JLabel("Apellidos:"));
fila1.add(new JTextField(20));
fila1.add(new JComboBox());
panel.add(fila1);
JPanel fila2=new JPanel(new FlowLayout(FlowLayout.LEFT));
btnAceptar=new Boton("btnAceptar","Aceptar",controlador);
fila2.add(btnAceptar);
fila2.add(new JLabel(new ImageIcon("utilidades/colon1Kg.jpg")));
panel.add(fila2);
this.setContentPane(panel);
this.pack();
}
}//end_class
class MiControlador extends Controlador{
private MiVentana ventana;
public MiControlador(){
super();
}
public void setVentana(Ventana ventana){
this.ventana=(MiVentana)ventana;
}
public void actionPerformed(ActionEvent e){
if(e.getActionCommand().equals("btnAceptarClick")) {
ventana.mostrarMensaje("Click en Boton Aceptar");
return;
}
}
public void windowOpened( WindowEvent evt ) {
}
}
public class PruebaVentana {
public static void main(String[] args) {
MiControlador controlador=new MiControlador();
MiVentana ventana=new MiVentana("hola",controlador);
ventana.abrir();
}
} Ventana.java Cita: //Ventana.java
package utilidades;
import java.awt.Container;
import javax.swing.*;
public abstract class Ventana extends JFrame {
private boolean creadosComponentes=false;
protected Controlador controlador=null;
public Ventana( String titulo, Controlador controlador) {
this.controlador=controlador;
controlador.setVentana(this);
this.addWindowListener(controlador);
setTitle(titulo);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) ;
}
public Ventana(String titulo) {
setTitle(titulo);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) ;
}
public Ventana(){
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) ;
}
public void setControlador(Controlador controlador){
this.controlador=controlador;
}
public abstract void crearComponentesVentana();
public void abrir(){
if(!creadosComponentes){
this.crearComponentesVentana();
creadosComponentes=true;
}
setVisible(true);
}
public void mostrarMensaje(String texto){
JOptionPane.showMessageDialog(this,texto,"Mensaje" ,JOptionPane.INFORMATION_MESSAGE);
}
public String leerCadena(String mensaje){
String cadena;
cadena=JOptionPane.showInputDialog(this,mensaje,"I ntroduzca Dato",JOptionPane.INFORMATION_MESSAGE);
if(cadena==null)
return("");
else
return(cadena);
}
public Integer leerEntero(String mensaje){
String cadena;
int numero;
cadena=JOptionPane.showInputDialog(this,mensaje,"I ntroduzca Dato",JOptionPane.INFORMATION_MESSAGE);
try{
numero=Integer.parseInt(cadena);
return(new Integer(numero));
}catch(Exception e){
return(null);
}
}
public boolean confirmar(String mensaje){
if(JOptionPane.showConfirmDialog(this,mensaje,"Int roduzca Dato",JOptionPane.YES_NO_OPTION)==0)
return(true);
else
return(false);
}
}//end_class
Un saludo. |