hola lo he probado haciendo que mi lista sea de tipo defaultlistmodel, pero sigue sin funcionar, yo pongo aqui el codigo haber si alguien me puede decir que me falta. Gracias.
package proyecto;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.io.*;
import com.borland.jbcl.layout.XYConstraints;
import com.borland.jbcl.layout.XYLayout;
class Listas
{
DefaultListModel modelo=new DefaultListModel();
JPanel listas=new JPanel();
GridLayout gdlayout=new GridLayout(1,3);
ResultSet rs = null;
PreparedStatement stmr = null;
ResultSetMetaData m = null;
JOptionPane mensaje = new JOptionPane();
String sql = "";
JFrame fr = new JFrame();
JPanel norte = new JPanel();
JPanel sur = new JPanel();
JPanel este = new JPanel();
JPanel oeste = new JPanel();
JPanel centro = new JPanel();
XYLayout layoutcentro=new XYLayout();
int indice=0;
JComboBox combo=new JComboBox();
Connection conn=null;
public Listas()
{
listas.setLayout(gdlayout);
fr.setTitle("Datos Tablas");
fr.getContentPane().add(norte, BorderLayout.NORTH);
fr.getContentPane().add(sur, BorderLayout.SOUTH);
fr.getContentPane().add(este, BorderLayout.EAST);
fr.getContentPane().add(oeste, BorderLayout.WEST);
centro.setLayout(layoutcentro);
centro.add(combo);
combo.addItem("a");
combo.addItem("b");
combo.addItem("c");
combo.addActionListener(new BotonTablas_ActionListener(this));
fr.show();
fr.setExtendedState(fr.MAXIMIZED_BOTH);
try
{
ConexionAutomatica();
}
catch (IOException e)
{
e.printStackTrace();
}
try
{
ejecutar();
}
catch(SQLException e){}
}
public void ConexionAutomatica() throws IOException
{
String dsn = new String ("jdbc:mysql://localhost/igr");
try
{
Class.forName ("com.mysql.jdbc.Driver");
}
catch (ClassNotFoundException e)
{
e.printStackTrace();
}
try
{
conn=DriverManager.getConnection(dsn,"igr","igr");
}
catch (SQLException e)
{
e.printStackTrace();
}
}
public void ejecutar()throws SQLException
{
int filas = 0;
try
{
sql="select * from presto";
stmr = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs = stmr.executeQuery();
rs.beforeFirst();
rs.last();
filas = rs.getRow();
rs.first();
stmr = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs = stmr.executeQuery();
m = rs.getMetaData();
while (rs.next())
{
for (int i = 0; i < m.getColumnCount(); i++)
{
char caracter[]=m.getColumnName(i+1).toCharArray();
if (caracter[0]==97+indice)
{
modelo.add(i,m.getColumnName(i+1));
}
}
}
JList milista=new JList(modelo);
milista.setModel(modelo);
listas.add(milista);
JScrollPane scroll=new JScrollPane(listas);
fr.getContentPane().add(centro, BorderLayout.CENTER);
centro.add(scroll,new XYConstraints(100,100,350,350));
}
catch (SQLException r)
{
r.printStackTrace();
}
catch(Exception e){e.printStackTrace();}
}
}
public class Listados
{
public static void main(String []args)
{
Listas a=new Listas();
a.fr.show();
}
}
class BotonTablas_ActionListener implements ActionListener
{
Listas t1;
public BotonTablas_ActionListener(Listas t2)
{
t1=t2;
}
public void actionPerformed(ActionEvent evento)
{
Object opcion=evento.getSource();
if(opcion.equals(t1.combo))
{
t1.indice=t1.combo.getSelectedIndex();
try{
t1.ejecutar();
}
catch(SQLException e){e.printStackTrace();}
}
}
}