Diferencia entre revisiones de «Usuario:ManuelRomero/javasintaxis»
De WikiEducator
Línea 1: | Línea 1: | ||
+ | {{MiTitulo | Introducción a la programación con Java}} | ||
+ | |||
+ | [[Archivo:Java-logo.jpg|200px]] | ||
+ | == Documentación inicial == | ||
+ | |||
=Java= | =Java= | ||
− | + | ||
==Entorno de desarrollo Java== | ==Entorno de desarrollo Java== |
Revisión de 07:26 11 feb 2012
Contenido
Documentación inicial
Java
Entorno de desarrollo Java
Referencias online
JDK
JRE
Sintaxis básica
Eclipse
Ejemplo 1
Entorno gráfico swingx
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