Java - Duda con JList

 
Vista:

Duda con JList

Publicado por Javier (1 intervención) el 10/03/2019 20:57:02
Hola. Estoy empezando a programar en Java.

Os comento a ver si podéis ayudarme.

Necesito que en una aplicación, después de que se seleccionen elementos en una JList salga otra JList diferente (o siga el programa tras terminarse la selección en la JList). El problema es que se ejecuta automáticamente todo el código escrito tras el de la JList de forma simultánea a la aparición de ésta. ¿Cómo hago para que sólo salga la JList y después el resto del programa?

Muchas gracias. Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Usa JDialog

Publicado por aldo jaccopo (1 intervención) el 05/05/2019 05:29:24
hola!

La verdad no entendi mucho jsjsjs pero entiendo eso de querer ejecutar una parte y luego otra.
pureba usando JDIalogForm
Este elemnto tiene la cualidad que cuando esta visible puedes pausar el form que lo esta invocando y cuando no es visible, el programa sigue su curso aqui un ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public class Lista extends javax.swing.JDialog implements ActionListener{
 
private final boolean BOTON_Aceptar = true;
private final boolean BOTON_Cancelar = false;
private boolean continuar = false;
 
 
public Lista(java.awt.Frame parent, boolean modal){
initcomponets();//es la funcion que llama a inicxiar los componentes supongamos que solo son tres la lista, boton continuar,boton cancelar
 
Aceptar.addActionListener(this);
Cancelar.addActionListener(this);
 
FuncionLLenadoDeLaLista();
}
// En el metodo abstracto comparas que ocasiono la accion si el boton de Aceptar o Cancelar
@Override
    public void actionPerformed(ActionEvent e) {
       if(e.getSource() == Aceptar){
      // aqui agregas lo que quiere que retorne
 continuar = BOTON_Aceptar;
    this.setVisible(false);
 
}
else if(e.getSource() == Cancelar){
//aqui agregas un mensaje o algo de retornar que signifique que cancelo
 continuar = BOTON_Cancelar;
    this.setVisible(false);
 
}
    }
 
 
}

y luego para obtenerlos
1
2
3
4
5
6
7
8
9
10
11
12
// la funcion la llamas en tu form principal 
private void funiconllamarLista(){
Lista l = new Lista(this,true); // los dos parametros que se usan para iniciarlo es que si usas un form mandas el form para pocsiconarlo //enfrente de el o null para que se ponga a la mitad
// y el true es para decir que la ventana dialogo sera la unica que se podra usar, false si quieres que se puede usar al mismo tiempo
l.setVisble(true);                 // aqui le decimos que lo haga visible, de este modo el codigo de esta parte se quedara ejecuntado solo esta 
                                   //linea
if(l.ObtenerVisble()){
//en esta parte despues de que dejo de ser visible se ejecutara y preguntara si sigue abierto, pero aqui ya puedes obtener todos los //datos de tu lista que quieras sin que el programa se ejecute en su totalidad
}
 
 
}

Espéro que te sirva! es la primera vez que respondo asi que perdon de antemano si te confundi!
pero busca más sobre las ventanas antes de empezar a usarlas o moverlas porque si se vuelve mas complicado a medida de las necesidades del sistema que estes haciendo!
Buena suerte y saludos c:
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar