jueves, 2 de octubre de 2008

Formulario Interno

import javax.swing.JInternalFrame;
public class Ventana1 extends JInternalFrame{
public Ventana1(){
setTitle("Ventana1");
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setSize(400, 300);
setClosable(true);
setResizable(true);
setVisible(true);
}
}

martes, 4 de diciembre de 2007

AbstractTableModel con Resultset

//miModeloTabla.java
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;
public class miModeloTabla extends AbstractTableModel{
ResultSet rs;
ResultSetMetaData rsmd;
public String getColumnName( int c ) {
try {
if ( rsmd != null )
return rsmd.getColumnName(c + 1);
return "";
}
catch(SQLException e) { e.printStackTrace(); return ""; }
}
/*************** getColumnCount() ******************/
public int getColumnCount() {
try {
if ( rsmd != null )
return rsmd.getColumnCount();
return 0;
}
catch(SQLException e) { e.printStackTrace(); return 0; }
}
/****************** getRowCount() *******************/
public int getRowCount() {
try {
if ( rs != null ) {
rs.last(); // Nos situamos en la última fila
return rs.getRow(); // Devolvemos el número de la fila
}
return 0;
}
catch(SQLException e) { e.printStackTrace(); return 0; }
}
/******************* getValueAt() *********************/
public Object getValueAt( int fila, int col ) {
try {
if ( rs != null ) {
rs.absolute( fila + 1 );
return rs.getObject( col + 1 );
}
return "";
}
catch(SQLException e) { e.printStackTrace(); return null; }
}
}

//ejemplo1.java
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
public class ejemplo1 extends JFrame{
Statement stat;
public ejemplo1(){
setSize(400, 300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
getContentPane().setLayout(new BorderLayout());
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection cn=DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=dat/tienda.mdb");
stat = cn.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE );
ResultSet rs=stat.executeQuery("select * from cliente");
MiModeloTabla m=new MiModeloTabla();
m.rs=rs;
m.rsmd=rs.getMetaData();
JTable t=new JTable(m);
JScrollPane sp=new JScrollPane(t);
getContentPane().add(sp,BorderLayout.CENTER);
}
catch(Exception e){
System.out.println("Errorrrrr");
}
}
public static void main(String[] args) {
new ejemplo1().setVisible(true);
}
}

martes, 30 de octubre de 2007

BItem

public class BItem{
public String Codigo;
public String Descripcion;
public BItem(String c ,String d ){
Codigo = c;
Descripcion = d;
}
public String toString(){
return Descripcion;
}
}

lunes, 22 de octubre de 2007

JTable - AbstractTableModel

import javax.swing.table.AbstractTableModel;
public class miModeloTabla extends AbstractTableModel{
Object[][] datos={
{"001","Soto","Quispe","Cesar",new Integer(12), new Boolean(true)},
{"002","Rivas","Quintana","Carlos",new Integer(12), new Boolean(true)}};
String[] encabezado={"Codigo","Paterno","Materno","Nombre","Nota","Casado"};
public int getColumnCount() {
return encabezado.length;
}
public int getRowCount() {
return datos.length;
}
public Object getValueAt(int f, int c) {
return datos[f][c];
}
public String getColumnName(int c){
return encabezado[c];
}
public Class getColumnClass(int c){
return getValueAt(0, c).getClass();
}
public boolean isCellEditable(int f, int c){
return true;
}
public void setValueAt(Object value,int f,int c){
datos[f][c]=value;
}
}

------------------------------------------------------
TableColumn sportColumn = table.getColumnModel().getColumn(2);
...
JComboBox comboBox = new JComboBox();
comboBox.addItem("Snowboarding");
comboBox.addItem("Rowing");
comboBox.addItem("Chasing toddlers");
comboBox.addItem("Speed reading");
comboBox.addItem("Teaching high school");
comboBox.addItem("None");
sportColumn.setCellEditor(new DefaultCellEditor(comboBox));

martes, 11 de septiembre de 2007

Botones de Mantenimiento

botonesMantenimiento.java


import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
import javax.swing.text.StyledEditorKit.AlignmentAction;
public class botonesMantenimiento extends JPanel implements ActionListener{
JButton nuevo, editar,borrar,grabar,cancelar;
JPanel miPanel;
public botonesMantenimiento() {
setLayout(new FlowLayout());
//Utilizando el boton nuevo
nuevo=new JButton("Nuevo",new ImageIcon("nuevo.gif"));
nuevo.setPreferredSize(new Dimension(50,50));
nuevo.setMargin(new Insets(-10,-10,-10,-10));
nuevo.setVerticalTextPosition(SwingConstants.BOTTOM);
nuevo.setHorizontalTextPosition(SwingConstants.CENTER);
nuevo.addActionListener(this);
add(nuevo);
//Utilizando el boton editar
editar=new JButton("Editar",new ImageIcon("editar.gif"));
editar.setPreferredSize(new Dimension(50,50));
editar.setMargin(new Insets(-10,-10,-10,-10));
editar.setVerticalTextPosition(SwingConstants.BOTTOM);
editar.setHorizontalTextPosition(SwingConstants.CENTER);
editar.addActionListener(this);
add(editar);
//Utilizando el boton Borrar
borrar=new JButton("Borrar",new ImageIcon("eliminar.gif"));
borrar.setPreferredSize(new Dimension(50,50));
borrar.setMargin(new Insets(-10,-10,-10,-10));
borrar.setVerticalTextPosition(SwingConstants.BOTTOM);
borrar.setHorizontalTextPosition(SwingConstants.CENTER);
borrar.addActionListener(this);
add(borrar);
//Utilizando el boton grabar
grabar=new JButton("Grabar",new ImageIcon("grabar.gif"));
grabar.setPreferredSize(new Dimension(50,50));
grabar.setMargin(new Insets(-10,-10,-10,-10));
grabar.setVerticalTextPosition(SwingConstants.BOTTOM);
grabar.setHorizontalTextPosition(SwingConstants.CENTER);
grabar.setVisible(false);
grabar.addActionListener(this);
add(grabar);
//Utilizando el boton cancelar
cancelar=new JButton("Cancelar",new ImageIcon("cancel.gif"));
cancelar.setPreferredSize(new Dimension(50,50));
cancelar.setMargin(new Insets(-10,-10,-10,-10));
cancelar.setVerticalTextPosition(SwingConstants.BOTTOM);
cancelar.setHorizontalTextPosition(SwingConstants.CENTER);
cancelar.setVisible(false);
cancelar.addActionListener(this);
add(cancelar);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==nuevo){
nuevo.setEnabled(false);
editar.setEnabled(false);
borrar.setEnabled(false);
grabar.setVisible(true);
cancelar.setVisible(true);
}
if(e.getSource()==editar){
nuevo.setEnabled(false);
editar.setEnabled(false);
borrar.setEnabled(false);
grabar.setVisible(true);
cancelar.setVisible(true);
}
if(e.getSource()==borrar){
JOptionPane.showConfirmDialog(null, "Esta seguro?");
}
if(e.getSource()==grabar){
nuevo.setEnabled(true);
editar.setEnabled(true);
borrar.setEnabled(true);
grabar.setVisible(false);
cancelar.setVisible(false);
}
if(e.getSource()==cancelar){
nuevo.setEnabled(true);
editar.setEnabled(true);
borrar.setEnabled(true);
grabar.setVisible(false);
cancelar.setVisible(false);
}
}
}


Ejemplo para llamar a la clase anterior


ejemplo.java



import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
public class ejemplo extends JFrame implements ActionListener{
botonesMantenimiento bm;
public ejemplo(){
setSize(400, 300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
getContentPane().setLayout(null);
bm=new botonesMantenimiento();
bm.setBounds(45, 200, 300, 60);
getContentPane().add(bm);
bm.nuevo.addActionListener(this);
}
public static void main(String[] args) {
new ejemplo().setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==bm.nuevo){
System.out.println("okkkkkkkkkkkkkkkkkkk");
}
}
}

martes, 4 de septiembre de 2007

Sistema Basico JAVA

Inicio.java

import
java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
import javax.swing.*;
public class Inicio extends JFrame implements ActionListener{
private static final long serialVersionUID = 1L;
JButton cmdAceptar,cmdCancelar;
JTextField txtUsuario;
JPasswordField txtClave;
public static Connection cn=null;
public Inicio(){
// para que el frame pueda cerrarse
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(320,200);
//para centrar en pantalla
setLocationRelativeTo(null);
setTitle("Inicio");
//Colocando el Icono
setIconImage(new ImageIcon("img/key.gif").getImage());
// para que el formulario no cambie de tamaño
setResizable(false);
//distribucion manual de componentes
getContentPane().setLayout(null);
// Instanciando la caja de texto
txtUsuario=new JTextField();
//Poniendo el tamaño y la ubicacion
txtUsuario.setBounds(150, 36, 100, 20);
// Colocando la caja de texto
getContentPane().add(txtUsuario);
//Instanciando la caja de texto para pasword
txtClave=new JPasswordField();
//poniendo el tamaño y la ubicacion
txtClave.setBounds(150, 76, 100, 20);
getContentPane().add(txtClave);
cmdAceptar=new JButton("Aceptar",new ImageIcon("img/ok.gif"));
//Atajo para usar con el ALT
cmdAceptar.setMnemonic('A');
//colocando el boton aceptar
cmdAceptar.setBounds(40, 120, 110, 30);
cmdAceptar.addActionListener(this);
getContentPane().add(cmdAceptar);
//colocando el boton cancelar
cmdCancelar=new JButton("Cancelar",new ImageIcon("img/cancelar.gif"));
cmdCancelar.setBounds(180, 120, 110, 30);
cmdCancelar.setMnemonic('C');
getContentPane().add(cmdCancelar);
// Evento escuchador para el boton Cancelar
cmdCancelar.addActionListener(this);
// colocando el fondo
JLabel fondo=new JLabel(new ImageIcon("img/inicio.gif"));
fondo.setBounds(0,0,320,180);
getContentPane().add(fondo);
}
public static void main(final String[] args){
Inicio in=new Inicio();
in.setVisible(true);
}
public void actionPerformed(ActionEvent e) {

if(e.getSource()==cmdCancelar){
System.exit(0);
}
if(e.getSource()==cmdAceptar){
// Codigo para verificar si la clave es correcta
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String usuario=txtUsuario.getText();
String clave=String.valueOf(txtClave.getPassword());
cn=DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=data/tienda.mdb");
ResultSet rs=cn.createStatement().executeQuery("select * from usuario where idusuario='"+usuario+"' and clave='"+clave+"'");
if (rs.next())
{
Principal p=new Principal();
this.setVisible(false);
p.setVisible(true);
}
else{
System.out.println("Noooo");
}

}
catch(ClassNotFoundException cnfe){
System.out.println("...Error Clase no definida");
}
catch(SQLException sqle){
System.out.println("...Error de coneccion");
}
}
}
}

Principal.java

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Principal extends JFrame implements ActionListener{
private static final long serialVersionUID = 1L;
JButton b1,b2,b3,b4;
JMenuItem salir,importar,exportar,manclientes,manProveedores,manProductos;
ManClientes mc;
JDesktopPane dp;

public Principal(){
//para que el frame cargue maximizado
setExtendedState(MAXIMIZED_BOTH);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setTitle("Sistema de Ventas");

JToolBar jtb=new JToolBar();
b1=new JButton(new ImageIcon("img/users.gif"));
b2=new JButton(new ImageIcon("img/up.gif"));
b3=new JButton(new ImageIcon("img/pda.gif"));
b4=new JButton(new ImageIcon("img/world.gif"));
jtb.add(b1);
jtb.add(b2);
jtb.add(b3);
jtb.add(b4);
getContentPane().setLayout(new BorderLayout());
getContentPane().add(jtb,BorderLayout.NORTH);
JMenuBar menu=new JMenuBar();
JMenu archivo=new JMenu("Archivo");
menu.add(archivo);
importar=new JMenuItem("Importar");
exportar=new JMenuItem("Exportar");
salir=new JMenuItem("Salir",'S');
salir.addActionListener(this);
//Atajo en el JmenuItem
salir.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F4,Event.ALT_MASK));
archivo.add(importar);
archivo.add(exportar);
archivo.addSeparator();
archivo.add(salir);
JMenu mantenimiento=new JMenu("Mantenimiento");
manclientes=new JMenuItem("Clientes");
manclientes.addActionListener(this);
manProveedores=new JMenuItem("Proveedores");
manProductos=new JMenuItem("Productos");
mantenimiento.add(manclientes);
mantenimiento.add(manProveedores);
mantenimiento.add(manProductos);
menu.add(mantenimiento);
setJMenuBar(menu);
dp=new JDesktopPane();
getContentPane().add(dp);
}
public static void main(String[] args){
new Principal().setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==salir){
System.exit(0);
}
if(e.getSource()==manclientes &&( mc==null mc.isClosed())){
mc=new ManClientes();
dp.add(mc);
}
}
}



ManClientes.java

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

public class ManClientes extends JInternalFrame implements ActionListener{
private static final long serialVersionUID = 1L;
JButton imprimir;
public ManClientes(){
setSize(200,150);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setTitle("Mantenimiento de Clientes");
setVisible(true);
setClosable(true);
setResizable(true);
imprimir= new JButton("Imprimir");
getContentPane().setLayout(new FlowLayout());
getContentPane().add(imprimir);
imprimir.addActionListener(this);
}

public void actionPerformed(ActionEvent e) {

}

}


martes, 14 de agosto de 2007

JDBC-ODBC

Ejemplos con conexion JDBC-ODBC
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

public class ejemplo4 {
public static void main(String[] args) {
Connection cn;
ResultSet rs;
try{
Class.forName("sun.jdbc.JdbcOdbcDriver");
cn=DriverManager.getConnection("jdbc:odbc:mibase");
rs=cn.createStatement().executeQuery("select * from alumno");
while(rs.next()){
System.out.println(rs.getString(1));
}
}

catch(ClassNotFoundException cnfe){
cnfe.printStackTrace();
System.out.println("clase no definida");
}
catch(SQLException sqle){
sqle.printStackTrace();
System.out.println("error de coneccion");
}
}
}

Para probar la aplicación debemos crear la base de datos prueba.
Luego la tabla:
alumno
Con atributos:
idalumno
paterno
materno
nombre
con al menos dos o tres registros:

Debemos crear el Correspondiente acceso ODBC. Para esto ejecutamos el programa odbcad32

Luego de hacer clic en Aceptar nos muestra la siguiente ventana:


Agregamos un DSN de usuario. Tal como muestra la figura

Como nuestra base de datos esta en access escogemos Microsoft Access.
Al hacer clic en Finalizar:


Debemos poner un nombre que identifique a la conexion ODBC en este caso ponemos miBase lo que servira para identificar nuestra coneccion en Java.


Luego seleccionamos la base de datos de access.
Luego de aceptar y aceptar. Estaremos listos para la prueba de nuestra aplicación Java con conexion a la base de datos