Hola de Nuevo:
me he metido en un lio con mis JButtons, necesito que aparescan y desaparescan.
Lo que haces el siguiente código es buscar el LeeXml todos los archivos de una determinada carpeta, me devuelve en array y con Split lo reordeno en un array el mismo que dependiendo cuantos campos obtenga debería generar su equivalencia en botones.
Código:
class ListaMensajes extends JFrame implements ActionListener
{
private static final long serialVersionUID = 1L;
private JPanel pnlCaptura,pnlLista;
private JLabel lblOrdenElectronica;
private JLabel lblMensajes[];
private JTextField txtOrdenElectronica;
//->Botones
private JButton cmdVer;
private JButton cmdListaMensajes[];
private String Resultado;
private String[] Mensajes;
protected String OElec;
protected String Part;
public ListaMensajes(String OrdenElectronica,String Participante){
super("Mensajes");
OElec = OrdenElectronica;
Part = Participante;
cmdListaMensajes = new JButton[4];
lblMensajes = new JLabel[4];
pnlCaptura = new JPanel();
pnlLista = new JPanel(new GridLayout(cmdListaMensajes.length,1));
lblOrdenElectronica = new JLabel("Orden Electronica: ");
txtOrdenElectronica = new JTextField("",15);
txtOrdenElectronica.addActionListener(this);
txtOrdenElectronica.setText(OrdenElectronica);
cmdVer = new JButton("Ver Mensaje");
cmdVer.addActionListener(this);
pnlCaptura.add(lblOrdenElectronica);
pnlCaptura.add(txtOrdenElectronica);
pnlCaptura.add(cmdVer);
// Mensajes = this.LeeXml(OElec,Part).split(",");
// System.out.println("ES: " + Mensajes.length);
// for ( int cuenta = 0; cuenta < Mensajes.length; cuenta++ ) {
// cmdListaMensajes[ cuenta ] = new JButton( Mensajes[ cuenta ] );
// cmdListaMensajes[ cuenta ].addActionListener(this);
// pnlLista.add( cmdListaMensajes[ cuenta ] );
// }
add(pnlCaptura,BorderLayout.NORTH);
add(pnlLista,BorderLayout.WEST);
setSize(525,150);
}
public void actionPerformed(ActionEvent e) {
String[] Mensajes = new String[10];
if(e.getSource() == cmdVer){
pnlLista.removeAll();
pnlLista.setVisible(false);
Mensajes = this.LeeXml(txtOrdenElectronica.getText(),Part).split(",");
System.out.println(Mensajes.length);
//pnlLista.setVisible(true);
for ( int cuenta = 0; cuenta < Mensajes.length; cuenta++ ) {
cmdListaMensajes[ cuenta ] = new JButton( Mensajes[ cuenta ] );
cmdListaMensajes[ cuenta ].addActionListener(this);
pnlLista.add( cmdListaMensajes[ cuenta ] );
}
}
for(int i = 0 ; i < Mensajes.length; i++){
if(e.getSource() == cmdListaMensajes[i]){
//System.out.println(Mensajes[i]);
verXML ver = new verXML(Mensajes[i],Part);
ver.setVisible(true);
}
}
}
Gracias