elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Creación dinámica de jButtons/Buttons
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Creación dinámica de jButtons/Buttons  (Leído 14,836 veces)
visualfree

Desconectado Desconectado

Mensajes: 201


Ver Perfil
Re: Creación dinámica de jButtons/Buttons
« Respuesta #10 en: 27 Abril 2013, 19:23 pm »

Estimado:

Junto con saludarte, te dejo un pequeño ejemplo que he realizado, espero te sirva.

Acá te dejo 3 images que demuestran el resultado de este código:

http://imageshack.us/photo/my-images/10/capturadepantalla201304tq.png/
http://imageshack.us/photo/my-images/43/capturadepantalla201304p.png/
http://imageshack.us/photo/my-images/22/capturadepantalla201304fm.png/



Creacion Bdd:
Código:
create database ejemplo1;
use ejemplo1;
create table  mesa(
idMesa int(10) primary key not null auto_increment,
numero int(250),
estado varchar(250));

Codigo Conexion a bdd:
Código:
package MysqlConec;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class conexión {
private String bdd="ejemplo1";
private String usuario="root";
private String clave="123456";
private Connection con;
private Statement stmt;
private ResultSet rs;
public conexión()
{
try{
DriverManager.registerDriver(new org.gjt.mm.mysql.Driver());
con=DriverManager.getConnection("jdbc:mysql://localhost/"+bdd,usuario,clave);
}catch(Exception e)
{
e.printStackTrace();
}
}
public void setExecuteUpdate(String sql){
try{
stmt=con.createStatement();
stmt.executeUpdate(sql);
stmt.close();
}catch(SQLException e){
e.printStackTrace();
}
}
public void setExecuteQuery(String sql){
try{
stmt=con.createStatement();
rs=stmt.executeQuery(sql);
}catch(SQLException ex)
{
ex.printStackTrace();
}
}
public ResultSet getRs() throws SQLException
{
return rs;
}

}



Codigo Aplicacion:
Código:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import MysqlConec.conexión;
import java.io.*;

public class Programa {
public static void main(String[] args){
Ventana v=new Ventana();
v.setVisible(true);

}
}
class Ventana extends JFrame{
public Ventana(){
this.setTitle("Ejemplo Mesas");
this.setSize(500,500);
MiPanel p=new MiPanel();
this.add(p);
}
}
class MiPanel extends JPanel{
private JButton[] mesa;
private JPanel pnNorte=new JPanel();
private JPanel pnCentro=new JPanel();
private JLabel lblMesa=new JLabel("Administrar");
private JComboBox comboMesa=new JComboBox();{
comboMesa.addItem("Abierta");
comboMesa.addItem("Cerrada");
}
private JButton btnMostrar=new JButton("Mostrar Mesas");
private conexión con=new conexión();

public MiPanel(){
pnNorte.setLayout(new GridLayout(1,3));
pnNorte.add(lblMesa);
pnNorte.add(comboMesa);
pnNorte.add(btnMostrar);

this.setLayout(new BorderLayout());
this.add(pnNorte,BorderLayout.NORTH);
this.add(pnCentro,BorderLayout.CENTER);
OyenteBuscar oBuscar=new OyenteBuscar();
btnMostrar.addActionListener(oBuscar);
}
public void crearMesas(int cantidad){
pnCentro.removeAll();
pnCentro.repaint();
pnCentro.setLayout(null);
mesa=new JButton[cantidad];
//JOptionPane.showMessageDialog(null,cantidad);
int x=0;
for(int i=0;i<cantidad;i++){

mesa[i] = new JButton("Mesa"+i);
if(i < 5){// 5 Mesas

mesa[i].setBounds(20+i*110, 20, 100, 100);
pnCentro.add(mesa[i]);
pnCentro.repaint();
}
else if(i>=5){//10 Mesas
mesa[i].setBounds(20+x*110, 130, 100, 100);
pnCentro.add(mesa[i]);
pnCentro.repaint();
x=x+1;
}
else if(i>=10){//15 Mesas
mesa[i].setBounds(20+x*110, 130, 100, 100);
pnCentro.add(mesa[i]);
x=x+1;
}

}
}
class OyenteBuscar implements ActionListener{
public void actionPerformed(ActionEvent e){
String estado=comboMesa.getSelectedItem().toString();
try{
con.setExecuteQuery("select count(idMesa) as total from mesa where estado='"+estado+"'");
while(con.getRs().next()){
int numer=con.getRs().getInt("total");
crearMesas(numer);
}
}catch(Exception ex)
{

}

}
}
}

Atento a tus comentarios.

Saluda Atte.



En línea

JacobJankowski

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Creación dinámica de jButtons/Buttons
« Respuesta #11 en: 30 Abril 2013, 00:32 am »

Hola buenas tardes

Gracias por responder a ambos, Sapito169:
Al crear el bucle de la nueva clase de AccionEscogioMesa, solamente me agrega una sola mesa abierta de todas las que se tienen, esto hace que los botones no se agregen de acuerdo al conteo de las mesas que se obtienen, y por lógica no me muestra la información total de estas.... sigue siendo funcional al agregar el boton y dar clic sobre el y que me muestre un mensaje con el numero de la mesa que selecciono... si entiendo que al indicar dentro del while
btnMesa=new JButon(...)

se agregarán las mesas que tenga en botones nuevos y que tal vez ahi se encuentre mi error por que no indico un actionlistener por cada boton, pero si le quito el
 btnMesa
                   .addActionListener(new AccionEscogioMesa(rs.getString("mesa")));

y dejandolo sin que instancie la nueva clase de AccionEscogioMesa, si muestra el numero de mesas en los botones pero me sigue dando la misma circunstancia...



Visual Free, tu codigo esta perfectamente amoldable, el punto es que como me trato de explicar es que al dar clic en cada boton de la mesa que se encuentre abierta, quiero que me muestrre un mensaje con el numero de mesa que estoy pinchando..

saludos


En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Creacion de firma dinamica
PHP
GreatSaiyan 1 5,257 Último mensaje 2 Octubre 2004, 04:52 am
por Azielito
Creacion dinamica de botones (FLASH)
Diseño Gráfico
DownRate 1 3,053 Último mensaje 25 Julio 2006, 18:28 pm
por DownRate
creacion dinamica de botones con flash
Diseño Gráfico
DownRate 0 1,889 Último mensaje 24 Julio 2006, 23:23 pm
por DownRate
creacion y manipulacion dinamica de objetos
.NET (C#, VB.NET, ASP)
rulovive 7 4,277 Último mensaje 2 Febrero 2018, 11:56 am
por Tazmania40
Creación de tabla dinámica con ajax, javascript, php y mysql
Desarrollo Web
Connor2431 1 1,728 Último mensaje 19 Octubre 2018, 20:28 pm
por #!drvy
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines