Far proseguire la compilazione solo se si verifica un event

di Anonimizzato8544 il
8 risposte
Salve ragazzi ho un problema nell'esecuzione di un pprogramma in sostanza il mio Main chiama una classe di nome frame che si crea un frame formattato in un certo modo poi subito dopo deve eseguire altre istruzioni, io vorrei che la ripresa del programma con le sue funzioni venga fatto solo dopo che si sia interagito con il frame é possibile?

8 Risposte

  • broke31 ha scritto:


    Salve ragazzi ho un problema nell'esecuzione di un pprogramma in sostanza il mio Main chiama una classe di nome frame che si crea un frame formattato in un certo modo poi subito dopo deve eseguire altre istruzioni, io vorrei che la ripresa del programma con le sue funzioni venga fatto solo dopo che si sia interagito con il frame é possibile?
    Non so se ho capito bene ..... usa un JDialog "modale".
  • Mi sono espresso male prima ora mi spiego meglio immagina questa situazione nel Main viene chiamata unacclasse che crea un frame e lo formatta con grandezza testo etc... Vorrei che dopo questa chiamata il Main aspetti ad esempio l'evento del tasto ok per andare avanticon la ccompilazione
  • broke31 ha scritto:


    Mi sono espresso male prima ora mi spiego meglio immagina questa situazione nel Main viene chiamata unacclasse che crea un frame e lo formatta con grandezza testo etc... Vorrei che dopo questa chiamata il Main aspetti ad esempio l'evento del tasto ok per andare avanticon la ccompilazione
    Ripeto la soluzione più semplice: JDialog invece che JFrame.
  • Jdialog non l'ho mai usata va bene per inserire bottoni radio? Puoi farmi unesempio su come quindi gfar fermare la compilazione fino a che non venga premuto il tasto ok nel frame?
  • broke31 ha scritto:


    Jdialog non l'ho mai usata va bene per inserire bottoni radio?
    Alla fin fine, dal punto di vista della creazione della interfaccia utente, non cambia nulla con JFrame.

    broke31 ha scritto:


    Puoi farmi unesempio su come quindi gfar fermare la compilazione fino a che non venga premuto il tasto ok nel frame?
    dialog.setVisible(true);

    se la dialog è "modale" (vedi costruttori) il setVisible è "bloccante", non ritorna. Solo quando la dialog viene chiusa, esce da setVisible.
  • Non riesco comunque a usarlo come di deve... potresti fare un esempio d'uso per riuscire a risolvere sempre se hai voglia ovviamente
  • Un esempio ultra-veloce è questo:
    
    final JFrame frame = new JFrame("Main Frame");
    		Container container = frame.getContentPane();
    		JButton button = new JButton("Click me");
    		button.addActionListener(new ActionListener() {
    			
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				JDialog dialog = new JDialog(frame, "Dialog title", true); //GUARDA QUESTA RIGA
    				dialog.setVisible(true);
    			}
    		});
    		container.add(button);
    		
    		frame.setVisible(true);
    		frame.pack();
    		frame.setLocationRelativeTo(null);
    		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
    nella riga che ti ho indicato l'ultima opzione è relativa alla "modalità" della dialog. In particolare mettendo true la dialog diventa modale, ovvero il controllo non può tornare alla finestra principale finché la dialog non viene chiusa. Andbin intendeva questo immagino
  • Della ha scritto:


    				JDialog dialog = new JDialog(frame, "Dialog title", true); //GUARDA QUESTA RIGA
    				dialog.setVisible(true);
    Andbin intendeva questo immagino
    Sì, questo concetto.
Devi accedere o registrarti per scrivere nel forum
8 risposte