Diferencia entre revisiones de «Usuario:ManuelRomero/javasintaxis»

De WikiEducator
Saltar a: navegación, buscar
(Página creada con '===Layout '''GridBagLayout'''=== <source lang="java"> r.fill=GridBagConstraints.HORIZONTAL; r.anchor=GridBagConstraints.WEST; r.weightx=10; r.weighty=10; r.ipady =50; r.insets= …')
 
Línea 11: Línea 11:
 
setLayout (bL);
 
setLayout (bL);
 
p.setLayout(l);
 
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==
 +
<source lang="java">
 +
 +
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
 +
 
</source>
 
</source>

Revisión de 03:16 10 feb 2012

Layout GridBagLayout

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);
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();
		            }
		        });
 
}
}

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