[!!]un poco de ayuda con java

Iniciado por Elwyn, 16 Diciembre 2008, 02:38 AM

0 Miembros y 1 Visitante están viendo este tema.

Elwyn

para el mod: xfas espera unos 2 dias antes de tirar el tema al subforo java, para q allan mas posibilidades de q lo respondan :S

Necesito que al precionar un boton se abra una ventana nueva.
lo que hago hasta el momento es capturar el evento del Boton,

public boolean handleEvent (Event evt2)
{
switch (evt2.id)
{
  case Event.WINDOW_DESTROY:
  {
    System.exit(0);
    return true;
  }
          case Event.ACTION_EVENT:
          {
            if (evt2.target==boton)
            {
              guarda();
            }
            if (evt2.target==botoncito)
            {
            System.exit(0);
       return true;
            }
            if (evt2.target==factura)
            {
            //COMO ABRO UNA VENTANA AL PRESIONAR ESTE BOTON
            }
           
          }

default:
return false;  
}
}


necesito q al presionar el boton factura se abra el archivo 'factura.java' q tiene la estructura de un panel, si no se puede hacer asi, necesito q se abra una ventana nueva.
ojala algn sepa o de pistas concretas


~~

Cada tema en su subforo por favor =P

Supongo que en "factura.java" tendrás una clase que herede de JFrame o algo así, crea un objeto de esa clase y listo.

Sk9ITk5Z

Man por que no usas swing en netbeans?  te aira la vida mas facil con la programacion en ventanas y todo eso....

Este es un pueblo de corazón extraviado, no quiere conocer mis caminos por eso no entraran en mi descanso.

juancho77

Código (java) [Seleccionar]
factura ventana=new factura();

La clase "factura" que has definido debera heredar de algun objeto grafico: JPanel, JFrame, JWindow, etc. (de JPanel no estoy seguro).

Cita de: Morani en 16 Diciembre 2008, 18:35 PM
Man por que no usas swing en netbeans?  te aira la vida mas facil con la programacion en ventanas y todo eso....

NetBeans te abstrae de la parte grafica. Si lo que quieres es aprender debes hacerlo manualmente.  ::)

Elwyn

al final lo hice con un JInternalFrame, lo q muestra es una ventana en blanco, pero no se como mandar variables internas entre class :xD, algn sabe como?

import java.awt.*;
import java.sql.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.JOptionPane;

public class num1panel extends JFrame
{
public num1panel(String titulo){
  super(titulo);
  desktop = new JDesktopPane();//INSTANCIAMOS EL OBJETO
.
.
.
//para abrir ventana nueva al presionar factura
factura.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
crearVentana();
}
});

.
.
.
   }//fin num1panel
public void crearVentana(){
    Ventana frame = new Ventana();
frame.setVisible(true); //NECESARIO PARA QUE SE MUESTRE
        desktop.add(frame);//AGREGO LA NUEVA VENTANA AL CONTENEDOR DE VENTANAS INTERNAS
        try{
            frame.setSelected(true);
        }catch (Exception e) {
        JOptionPane.showMessageDialog(null, e.getMessage(), "Error", JOptionPane.OK_OPTION);
        }
    }//fin crearVentana
.
.
.
}//fin class num1panel

class Ventana extends JInternalFrame{
public static int numVentana = 1;
public static int x = 45, y = 45;
JLabel Regalo2=new JLabel("Regalo ");
//Label Regalo2=new Label("perrroos ");
public Ventana(){

super("Ventana #"+ (numVentana++),//título de la ventana

              true, //resizable
              true, //closable
              true, //maximizable
              true);//iconifiable
             
             
             
              this.add(Regalo2);
              setSize(300, 200); //EL TAMAÑO QUE TENDRA CADA VENTANA INTERNA...
             
              setLocation((x*numVentana)/2, (y*numVentana)/2); //POSICION DE LA VENTANA INTERNA
        }//FIN DEL CONSTRUCTOR DE LA CLASE QUE REPRESENTA LAS VENTANAS INTERNAS   
}//FIN DE LA CLASE QUE REPRESENTA LAS VENTANAS INTERNAS




juancho77

La idea es que tengas la parte de datos en una clase y la parte grafica en otra. Entonces, la gui_principal tendria que tener un objeto principal con toda la informacion y los setters y getters necesarios. Luego, si necesitas todos estos datos en un nuevo jframe que deriva de gui_principal, simplemente le pasas como parametro el objeto y listo.