Diferencia entre revisiones de «Usuario:ManuelRomero/javasintaxis»

De WikiEducator
Saltar a: navegación, buscar
(Layout GridBagLayout)
Línea 19: Línea 19:
  
 
===Layout '''GridBagLayout'''===
 
===Layout '''GridBagLayout'''===
 
 
<source lang="java">
 
r.fill=GridBagConstraints.HORIZONTAL;
 
r.anchor=GridBagConstraints.WEST;
 
r.weightx=10;
 
r.weighty=10;
 
r.ipady =50;
 
r.insets= new Insets(10,5,2,2);
 
Box b= new Box(1);
 
FlowLayout bL = new FlowLayout();
 
setLayout (bL);
 
p.setLayout(l);
 
</source>
 
 
<source lang="java">
 
import javax.swing.*;
 
import java.awt.*;
 
import javax.swing.border.*;
 
public class MarcoGB extends JFrame{
 
 
GridBagConstraints r = new GridBagConstraints();
 
GridBagLayout l= new GridBagLayout();
 
JPanel p = new JPanel();
 
String[] etiquetas=  {"Nombre","Apellido","Dirección","Código postal","Localidad","Provincia","Fecha Nacimiento","Correo","Sexo","Estudios","Otros Datos"};
 
String[] sexo={"Hombre","Mujer","No quiero aportar"};
 
public MarcoGB(){
 
 
//Valores generales para todas las colocaciones
 
 
r.fill=GridBagConstraints.HORIZONTAL;
 
r.anchor=GridBagConstraints.WEST;
 
//r.weightx=10;
 
//r.weighty=10;
 
//r.ipady =50;
 
r.insets= new Insets(10,5,2,2);
 
 
Box b= new Box(1);
 
        FlowLayout bL = new FlowLayout();
 
setLayout (bL);
 
p.setLayout(l);
 
//Colocamos los label
 
JLabel LNombre = new JLabel("Nombre");
 
AnadirComponente(LNombre,0,0,1,1);
 
 
JLabel LApellido = new JLabel("Apellido");
 
AnadirComponente(LApellido,3,0,1,1);
 
 
JLabel LDireccion = new JLabel("Direccion");
 
AnadirComponente(LDireccion,0,1,1,1);
 
 
JLabel LCodPostal= new JLabel("Codigo Postal");
 
AnadirComponente(LCodPostal,3,1,1,1);
 
 
JLabel LLocalidad = new JLabel("Localidad");
 
AnadirComponente(LLocalidad,0,2,1,1);
 
 
JLabel LProvincia = new JLabel("Provincia");
 
AnadirComponente(LProvincia,3,2,1,1);
 
 
JLabel LFNac= new JLabel("Fecha de nacimiento");
 
AnadirComponente(LFNac,0,3,2,1);
 
 
JLabel LCorreo= new JLabel("Correo");
 
AnadirComponente(LCorreo,3,3,1,1);
 
 
JLabel LSexo= new JLabel("Sexo");
 
AnadirComponente(LSexo,0,4,1,1);
 
 
JLabel LEstudios = new JLabel("Estudios");
 
AnadirComponente(LEstudios,3,5,1,1);
 
 
JLabel LODatos = new JLabel("Otros Datos de interés");
 
AnadirComponente(LODatos,0,5,2,1);
 
 
 
//Ahora colocamos las cajas de texto
 
 
JTextField TNombre = new JTextField(10);
 
    //JFormattedTextField.
 
AnadirComponente(TNombre,1,0,2,1);
 
JTextField TApellido = new JTextField(10);
 
 
AnadirComponente(TApellido,4,0,2,1);
 
 
JTextField TDireccion = new JTextField();
 
AnadirComponente(TDireccion,1,1,2,1);
 
JTextField TCodPostal = new JTextField(5);
 
AnadirComponente(TCodPostal,4 ,1,1,1);
 
 
 
JTextField TLocalidad = new JTextField();
 
AnadirComponente(TLocalidad,1,2,2,1);
 
 
JTextField TProvincia = new JTextField(10);
 
AnadirComponente(TProvincia,4,2,1,1);
 
JTextField TFNac = new JTextField();
 
AnadirComponente(TFNac,2,3,1,1);
 
JTextField TCorreo = new JTextField(10);
 
AnadirComponente(TCorreo,4,3,1,1);
 
JComboBox TSexo = new JComboBox(sexo);
 
AnadirComponente(TSexo,2,4,1,1);
 
JTextField TEstudios = new JTextField();
 
AnadirComponente(TEstudios,4,4,1,1);
 
 
JTextArea TODatos = new JTextArea(10,3);
 
TODatos.setBorder(BorderFactory.createLineBorder(Color.BLUE));
 
AnadirComponente(TODatos,0,6,3,1);
 
 
JButton BAceptar = new JButton("Aceptar");
 
AnadirComponente(BAceptar,3,10,1,1);
 
JButton BCancelar= new JButton("Cancelar");
 
AnadirComponente(BCancelar,4,10,1,1);
 
//Poner un borde con un título
 
TitledBorder titulo =BorderFactory.createTitledBorder("Datos Personales");
 
p.setBorder(titulo);
 
//jComp8.setBorder(title);
 
 
 
add(p);
 
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
setSize(500,500);//ancho y alto
 
setVisible(true);
 
 
 
 
//
 
}
 
 
private void AnadirComponente(Component c, int columna,
 
            int fila, int anchura, int altura){
 
 
r.gridx=columna;
 
r.gridy=fila;
 
r.gridwidth = anchura;
 
r.gridheight=altura;
 
l.setConstraints(c,r);
 
p.add(c);
 
}
 
 
/**
 
* @param args
 
*/
 
 
// TODO Auto-generated method stub
 
public static void main(String[] args) {
 
        SwingUtilities.invokeLater(new Runnable() {
 
            public void run() {
 
            new MarcoGB();
 
            }
 
        });
 
        SwingUtilities.invokeLater(new Runnable() {
 
            public void run() {
 
            new MarcoGB();
 
            }
 
        });
 
        SwingUtilities.invokeLater(new Runnable() {
 
            public void run() {
 
            new MarcoGB();
 
            }
 
        });
 
 
}
 
}
 
</source>
 
  
 
==Eventos==
 
==Eventos==

Revisión de 10:17 14 feb 2012


100px

Documentación inicial

Java

Entorno de desarrollo Java

Referencias online

JDK

JRE

Sintaxis básica

Eclipse

Ejemplo 1

Entorno gráfico swingx

Layout GridBagLayout

Eventos

import javax.swing.*;
 
import concesionario.Cliente;
 
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.SQLException;
import java.awt.Event.*;
import java.sql.*;
 
public class ICliente extends JFrame{
 
 
	//	Definición de objetos gráficos para el interfaz
	JLabel lNum = new JLabel ("Número");
	JTextField  tNum = new JTextField(5);
	JLabel lApellido = new JLabel("Apellido");
	JTextField tApellido = new JTextField (5);
	JLabel lNombre = new JLabel("Nombre");
	JTextField tNombre = new JTextField (5);
	JButton bPrimero = new JButton("primero");
	JButton bAnterior = new JButton("anterior");
	JButton bSiguiente= new JButton("siguiente");
	JButton bUltimo = new JButton("ultimo");
//Paneles contenedores además del contenedor principal que es el frame
	JPanel pDatos = new JPanel();
	JPanel pBotones = new JPanel();
//Layout para distribución de objetos en el contenedor	
	FlowLayout fL = new FlowLayout();
	BorderLayout bL= new BorderLayout();
	BoxLayout bxL = new BoxLayout(this.getContentPane(),BoxLayout.LINE_AXIS);
 
//para poderme comunciar con otras clases	
	Cliente cliente = new Cliente();
    ResultSet consulta; //Para trabajar con el resultado de una consulta concreta
	static Conexion conexion; //static para poder ser usada en el main que es static
 
 
 
 
 public ICliente(){
	//Ponemos los layout
	 pDatos.setLayout(fL);
	 pBotones.setLayout(fL);
     setLayout(bL);
 
    //Añadimos los objetos a los contenedores
     //primero los contenidos a los paneles
     pBotones.add(bPrimero);
     pBotones.add(bSiguiente);
     pBotones.add(bAnterior);
     pBotones.add(bUltimo);
 
     pDatos.add(lNum);
     pDatos.add(tNum);
     pDatos.add(lNombre);
     pDatos.add(tNombre);
     pDatos.add(lApellido);
     pDatos.add(tApellido);
 
 
     //Luego los paneles al JFrame
     add(pDatos,bL.PAGE_START);
     add(pBotones,bL.PAGE_END);
 
 
     //Colocamos y visualizamos el JFrame
     setBounds(100,100,600,200);
     setTitle("Recorrido de la tabla Clientes");
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     setVisible(true);
 
     //Cremos un objeto escuchador de la interfaz ActionListener
     ManejadorEventos elEscuchador= new ManejadorEventos();
 
     //Agregamos este objeto a los botones desde los que quieremos recoger el evento
     bPrimero.addActionListener(elEscuchador); 
     bSiguiente.addActionListener(elEscuchador);
     bAnterior.addActionListener(elEscuchador);
     bUltimo.addActionListener(elEscuchador);
 
     //Realizamos la consulta para después moverme sobre ella (avanzar o retroceder).
     try{
     consulta  =conexion.hacerConsulta("Select * from clientes");
     }catch(SQLException ex){
    	 System.out.println("Error "+ex.getMessage());
     }
 
 }
 public void cargaDatos(Cliente c){
	 tNombre.setText(c.getNombre());
	 tApellido.setText(c.getApellido());
	 tNum.setText(c.getNumero().toString());
 
 }
 
 private class ManejadorEventos implements ActionListener{
 		public void actionPerformed(ActionEvent e) {
 			try{
				if (e.getSource()== bPrimero){
		    		   if (consulta.isFirst())
		    			    JOptionPane.showMessageDialog(null,"Ya es el primer registro");
		    		   else
		    			   consulta.first();
		    	   }
				if (e.getSource()== bSiguiente){
		    		   consulta.next();
		    	   }
				if (e.getSource()== bAnterior){
		    		   consulta.previous();
		    	   }
				if (e.getSource()== bUltimo){
		    		   if (consulta.isLast())
		    			    JOptionPane.showMessageDialog(null,"Ya es el último registro");
		    		   else
		    			   consulta.last();
		    	   }
				   cliente.setDatos(consulta);
				   cargaDatos(cliente);
 			}catch(SQLException ex){
 				JOptionPane.showMessageDialog(null,"La consulta no ha devuelto filas");
 			}
 
		}
  }
 
 
public static void main(String []s){
	 try{
		 conexion = new Conexion();
	 }catch(SQLException e){
		 JOptionPane.showMessageDialog(null,"Error en conexion en bd "+e.getMessage());
	 }catch (ClassNotFoundException e){
		 JOptionPane.showMessageDialog(null,"Error en BD" +e.getMessage());
	 }
       ICliente elCliente = new ICliente();
 }
}//End class