Agradezco la colaboración q me puedan prestar y espero recibir pronto una respuesta que me saque del apuro
![Adios](http://static.forosdelweb.com/fdwtheme/images/smilies/adios.gif)
| |||
Respuesta: Interfaz Gráfica en Java A ver si puedo ayudarte mañana, pero es que son las 2:45 de la mañana aquí en España y tengo sueño... demasiado sueño... Sin embargo, te dejo un ejemplo que venían en mis apuntes de clase: Cita: 1er Ejemplo: Crear un programa gráfico en java que muestre una ventana cuyo diseño se muestra. Realizar el programa haciendo uso de herencia con la clase Ventana. Nombre: ____________________ Apellidos: _________________ Insertar Ventana {hereda de JFrame} + Ventana(titulo:String) + crearComponentesVentana():Container {abstracto} //Ventana.java import javax.swing.JFrame; import java.awt.Container; import javax.swing.JPanel; public abstract class Ventana extends JFrame { public Ventana(String titulo){ super(titulo); setTitle(titulo); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) ; setContentPane(crearComponentesVentana()); pack() ; } public abstract Container crearComponentesVentana(); }//end_class //MiVentana.java import java.awt.*; import javax.swing.*; public class MiVentana extends Ventana { public MiVentana(String titulo){ super(titulo); } public Container crearComponentesVentana(){ JPanel panel1=new JPanel(); panel1.setLayout(new GridLayout(3,1)); JPanel panel2=new JPanel(); panel2.setLayout(new FlowLayout(FlowLayout.LEFT)); panel2.add(new JLabel("Nombre:")); panel2.add(new JTextField(30)); JPanel panel3=new JPanel(); panel3.setLayout(new FlowLayout(FlowLayout.LEFT)); panel3.add(new JLabel("Apellidos:")); panel3.add(new JTextField(50)); JPanel panel4=new JPanel(); panel4.add(new JButton("Insertar")); panel1.add(panel2); panel1.add(panel3); panel1.add(panel4); return(panel1); } } //EjemploVentana.java public class EjemploVentana { public static void main(String[] args) { MiVentana ventana=new MiVentana("Ejemplo Ventana"); ventana.setVisible(true); } }//end_class Y una pequeña ayuda, también de esos apuntes que te decía: Cita: 8.- EJEMPLOS DE UTILIZACIÓN DE LA HERENCIA, CLASES ABSTRACTAS Y POLIMORFISMO EN JAVA. Para hacer los ejemplos utilizaremos las librerías de clases gráficas de Java (awt y swing). A continuación se dan unas nociones básicas de estas librerías. Existen unas clases llamadas contenedores superiores que implementan ventanas normales, ventanas de diálogo y applets. Estas clases son: Jframe, Jdialog y Japplet. Las clases que representan contenedores superiores disponen de un panel de contenidos en el que se pueden incluir componentes. Los métodos Container getContenPane() y void setContentPane(Container) permiten acceder y modificar, respectivamente, dicho panel de contenidos. JFrame + setVisible(visible:boolean) //muestra u oculta la ventana Los contenedores intermedios son los encargados de almacenar los componentes visuales de la aplicación. Ademas, estos pueden incluir otros contenedores, lo que proporciona un modelo muy flexible para realizar aplicaciones con una interfaz compleja. De entre todos los contenedores intermedios, el más utilizado es JPanel, que proporciona una funcionalidad básica para colocar componentes. Jpanel {descendiente de Container} + setLayout(mgr:LayoutManager) //set the layout manager para este contenedor. + add(arg0:Component) Los gestores de esquema (LayoutManager) son los encargados de “colocar” los diversos componentes de un contenedor intermedio en un lugar u otro dentro de su area de visualización. Los gestores de esquemas más habituales son los siguientes: El gestor de esquemas FlowLayout es el gestor de esquemas más simple. Distribuye los componentes en filas de izquierda a derecha y de arriba a abajo seg ún se van introduciendo en el contenedor. El gestor de esquemas BorderLayout permite que el contenedor tenga como máximo cinco componentes, que serán colocados al norte, sur, este, oeste y centro del contenedor intermedio. Para introducir estos componentes se usa una versión sobrecargada del método void add(Container, int), donde el entero puede ser una de las constantes NORTH, SOUTH,EAST, WEST y CENTER definidas en la clase BorderLayout. Por último, el gestor de esquemas GridLayout dispone de un constructor en el que se indica el número de filas y columnas en las que va a quedar dividido el contenedor intermedio. Cuando se utiliza este gestor, los componentes se van incluyendo ocupando filas de arriba a abajo, y cada fila de izquierda a derecha; además, todas las componentes introducidas ocuparán el mismo espacio dentro del contenedor intermedio. FlowLayout //implementa interface LayoutManager - CENTER: int {estatico} //alineacion centrada - LEFT: int {estatico} //alineacion izquierda - RIGHT: int {estatico} //alineacion derecha + FlowLayout() //construye un FlowLayout con alineación centrada y 5 unidades verticales y horizontales de //separación con los bordes + FlowLayout(int alineacion) //construye un FlowLayout con la alineación indicada y 5 unidades verticales y horizontales de Un componente es un objeto gráfico que puede ser mostrado en la pantalla y con el que el usuario puede interactuar. Examplos de componentes son: botones, cajas de chequeo, barras de desplazamiento, cajas de texto, etc. JButton {descendiente de Component} + JButton(arg0:String) //se le pasa el texto del botón JLabel {descendiente de Component} + JLabel(arg0:String) //se le pasa el texto a mostrar JTextField {descendiente de Component} + JTextField(arg0: int) //se le pasa el tamaño de la caja de texto Si tienes dudas, o quieres que te lo explique personalmente, dímelo y mañana te escribo aquí El Mini Quijote... xD (tampoco sé mucho de Java, pero lo poquito que sé creo que te puede valer...) También tienes un manual aquí: http://www.cica.es/formacion/JavaTut/Cap4/awt.html Un saludo! ;) |
| ||||
Respuesta: Interfaz Gráfica en Java muchas gracias por atender mi llamado... aqui en Colombia son las 9:15 pm... voy a aplicar de acuerdo a lo q me escribio... mañana vuelvo a postear por si tengo alga duda... Antes de irme... una pregunta mas ¿ en mi pc tengo netbeans, eclipse y JCreator pero ps no se debo trabajarlos desde ahi como proyectos o solo lo trabajo en un block de notas como se q se puede hacer? gracias de nuevo y espero comnicarnos pronto... |
| |||
Respuesta: Interfaz Gráfica en Java Hola Adan podes hacerlo desde un block de notas supongo. Pero NetBeans tiene una interfaz para hacer los formularios de los gráficos bastante simple. Se trata solo de arrastrar las cosas a tu programa. |
| ||||
Respuesta: Interfaz Gráfica en Java Te recomiendo NetBeans x la facilidad al crear la interfaz, tal como dijo Diegongui. Aca te dejo un link de una pagina bastante buena para entender a grandes rasgos y de manera clara la forma de interactuar con una base de datos, usando la API JDBC. http://www.itapizaco.edu.mx/paginas/JavaTut/froufe/parte21/cap21-4.html Saludos |
| |||
Respuesta: Interfaz Gráfica en Java Cita:
Iniciado por AdanAlsi ![]() muchas gracias por atender mi llamado... aqui en Colombia son las 9:15 pm... voy a aplicar de acuerdo a lo q me escribio... mañana vuelvo a postear por si tengo alga duda... Antes de irme... una pregunta mas ¿ en mi pc tengo netbeans, eclipse y JCreator pero ps no se debo trabajarlos desde ahi como proyectos o solo lo trabajo en un block de notas como se q se puede hacer? gracias de nuevo y espero comnicarnos pronto... Yo, la documentación y los ejemplos que te he dado es para crearlos mediante la escritura de código. O sea, usando Eclipse (o un bloc de notas). Te aconsejo que uses Eclipse antes que un bloc de notas, pues te irá diciendo todos los métodos que tiene cada objeto, y te mostrará los errores. Un saludo. Chao! |
| ||||
Respuesta: Interfaz Gráfica en Java Isdiar... ya aplique el codigo q me has dado... pero se me presentaron varios problemas... 1. en Ventana.java tengo el siguiente error: en lo q mas abajo señale con rojo me aparece el siguiente mensaje: "The serilizable class Ventana does not declare a stitc final serialVersionUID field of type long" 2. Ese mismo error me aparace en la MiVentana.java pero con <B> public</B> abstractclass MiVentana extends Ventana{3. En EjemploVentana el error q me muestra es el siguiente: "Cannot instantiate the type MiVentana" <B>
Agradecería muchisimo que me colaborara con esto (quizas sea una bobada pero para el q no sabe seria una gran ilustración) Gracias |
| ||||
Respuesta: Interfaz Gráfica en Java Diegongui... quisiera saber desde donde puedo acceder a esta interfaz de la q hablas... y en q consiste lo del "arrastrar cosas" al programa... gracias por la colaboración... |
| ||||
Respuesta: Interfaz Gráfica en Java Isdiar... logre q la interfaz q me diste corriera correctamente, sin embargo sigo preocupado, ya que persisten 2 de los errores de los q habia mencionado antes 1.The serializable class MiVentana does not declare a static final serialVersionUID field of type long presente en MiVentana.java 2. The serializable class Ventana does not declare a static final serialVersionUID field of type long presente en Ventana.java Aunq el programa corre bien, me preocupa q pueda interferir en algun momento con el aplicativo... te agradecería tu colaboración |
| |||
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: Ventana.javapackage 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(); } } 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. |
| |||
Respuesta: Interfaz Gráfica en Java A la derecha en netbeans debería aparecer una paleta a lo largo que dice "swing containers" y mas abajo otra que dice "swing controls". De ambas arrastras el ícono que queres a tu código y automaticamente genera el código de lo que arrastraste. Última edición por Diegongui; 18/07/2008 a las 16:15 Razón: Era a la derecha, no a la izquierda. |
| ||||
Respuesta: Interfaz Gráfica en Java Muchas Gracias a todos por su colaboración... me permitieron resolver esa duda... sus respuestas fueron muy buenas... de nuevo muchas gracias... quisiera saber si los puedo agregar como contactos o amigos... como prefieran... para estar en contacto con ustedes y quizas molestarlos con preguntas mas adelante... jajaja... espero q acepten... y de nuevo... GRACIAS |
| |||
Respuesta: Interfaz Gráfica en Java Cometi un error, pero supongo que te diste cuenta igual. La plantilla esta a la dereche, no a la izquierda. Cuando escribi la respuesta anterior estaba apurado y me equivoque. No creo que te pueda ser de mucha ayuda mas adam ya que si bien tengo conocimientos tambien principiante ![]() Cualquier cosa crea otro hilo con otras dudas y si conozco la respuesta la respondere con gusto. |
| |||
Respuesta: Interfaz Gráfica en Java Hola AdanAlsi, me alegro de habérte sido de ayuda. Puedes agregarme como amigo en el Foro, aceptaré gustosamente. Si necesitas algo y puedo ayudarte... encantado, aunque también soy principiante en esto. Un saludo! |