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(){
....
}

}

}
In sto programma devo istanziare le classi.
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?