In sto programma devo istanziare le classi.codice:import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.io.*; import java.net.*; import java.util.StringTokenizer; class editorz extends JFrame implements ActionListener{ .... selectedCapo; int selectedSize,selectedBackground,selectedColor; editorz(){ super("Editox"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(80,100,500,400); .... setContentPane(pan); } ................. ................ public static void main(String[] args){ try{ editorz ed = new editorz(); ed.show(); ed.decTa(); try{ UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassNam e());} catch(Exception e){ System.out.println("Errore:" + e.toString()); } } catch(StackOverflowError sofe){ System.out.println("Eccezione stackOverFlow: " + sofe.toString()); } } public class Opzioni extends JFrame implements ActionListener{ editorz ez; .... public Opzioni(){ super("Opzioni Editox"); ez=new editorz(); .... carattere=new JComboBox(); String[] alc = java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getA vailableFontFamilyNames(); for(int hallc=0;hallc<alc.length;hallc++){ carattere.addItem(alc[hallc]); if(ez.selectedChar.equals(alc[hallc])){ carattere.setSelectedItem(alc[hallc]); } } ... setContentPane(pan); } public void vedi(){ .... } } }
Mi e' (quasi) necessario.
Solo che in questo modo mi sorge lo StackOverflowError (come si vede dal try-catch nel main).
Devo fare per forza queste operazioni, pero' st'eccezione non mi fa partire il programma, come faccio?