Salve non è che qualcuno gentilemente mi speiga perchè nel codice che segue (che è già pronto alla compilazione e quindi consiglio di provare) il JDialog mostrato alla pressione del pulsante non ha il look and feel impostato correttamente come uguale a quello del frame principale ?
codice:import javax.swing.*; import java.awt.*; import java.awt.event.*; public class ProvaFrame extends JFrame { MyPanel panel; public ProvaFrame() { panel = new MyPanel(this); setContentPane(panel); try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); SwingUtilities.updateComponentTreeUI(this); } catch(Exception e) { System.err.println("Impossibile impostare il LookAndFeel del sistema"); } } public static void main(String [] args) { ProvaFrame frame = new ProvaFrame(); final int iInset = 50; Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); frame.setBounds ( iInset, iInset, screenSize.width - iInset*2, screenSize.height - iInset*2 ); frame.setVisible(true); } } class MyPanel extends JPanel implements ActionListener { private ProvaFrame mainFrame; private JDialog myDialog; private JButton showButt; public MyPanel(ProvaFrame mainFrame) { this.mainFrame = mainFrame; System.out.print(mainFrame == null);//non è null come si vede!! showButt = new JButton("mostra dialogo"); add(showButt); showButt.addActionListener(this); myDialog = new JDialog(mainFrame,"dialogo",true); myDialog.setSize(200,200); myDialog.setLocationRelativeTo(mainFrame); } public void actionPerformed(ActionEvent event) { myDialog.setVisible(true); } }

Rispondi quotando
