Ciao, rieccomi qui! 
Ho bisogno ancora del vostro prezioso aiuto.....
Allora ho lavorato un po' con la JDialog....Ho più o meno ottenuto quello che intendevo, anche se avrei due problemi.
Prima di porvi le due domande, vi posto il codice di un banale e semplice programmino che ho sfornato stasera in una mezzoretta; si tratta di una JFrame (finestraprincipale.java) con un pulsante, alla pressione del quale viene mostrata una finestra JDialog (finestrasecondaria.java) con un pulsante "Chiudi".
Ecco il codice:
file finestraprincipale.java
codice:
package provafinestra;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.JButton;
import javax.swing.JFrame;
public class finestraprincipale extends JFrame {
private Container a;
private JButton b;
public finestraprincipale(){
this.setSize(300, 100);
this.setTitle("Finestra Principale");
Container a = getContentPane();
a.setLayout(new FlowLayout());
b=new JButton("Apri finestra");
a.add(b);
GestoreEventi gestore = new GestoreEventi();
b.addActionListener(gestore);
}
private class GestoreEventi implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
if ((event.getSource()== b) )
{
finestrasecondaria n= new finestrasecondaria();
n.setSize(200, 200);
n.setResizable(false);
n.setTitle("Questa è una finestra secondaria");
n.requestFocusInWindow();
n.setVisible(true);
}
}
}
public static void main (String[] args){
finestraprincipale frame = new finestraprincipale();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
frame.setResizable(false);
}
}
file finestrasecondaria.java
codice:
package provafinestra;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
public class finestrasecondaria extends JDialog {
private Container a;
private JButton b;
public finestrasecondaria(){
Container a = getContentPane();
a.setLayout(new FlowLayout());
b=new JButton("Chiudi finestra");
a.add(b);
GestoreEventi gestore = new GestoreEventi();
b.addActionListener(gestore);
}
private class GestoreEventi implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
if ((event.getSource()== b) )
{
System.exit(0);
}
}
}
}
Ora, questo codice funziona, però la JDialog che appare (finestrasecondaria) non risulta a scelta obbligatoria (l'utente può cioè passare alla JFrame sottostante...)...Se volessi non permettere ciò, come devo fare?
Altra domanda: se metto un pulsante "Chiudi" sulla JDialog, quale istruzione devo usare per far chiudere solo la JDialog alla pressione di tale pulsante? (nell'esempio che ho postato alla pressione del tasto Chiudi termina tutto il programma......)
Grazie in anticipo!
Ste