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:
Gracias 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); } } }