Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,965

    [Java] Istanziazione e StackOverflow

    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?

  2. #2
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Probabilmete c'è una chiamata ricorsiva infinita nel metodo decTa() o nel costruttore editorz ed = new editorz(); non e che il costruttre richiama se stesso?

    Ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.