Newsgroup: it.comp.java
Titolo: Mostrare testo lungo di eccezione in JOptionPane... non ci sta, sembra.

della stringa.
ma non capisco come realizzarlo, se qualcuno avesse qualche riga di
codice di un suo progetto, grazie.
Non esiste nessuna finestra del genere predefinita in Java? La
JOptionPane puo' essere ridimensionata per far visualizzare testi
lunghi su di una linea sola? Essendo il testo stringa generato da
un'eccezione non ha dei "\n" e quindi risulta questa visualizzazione
anomala.
Come fate voi a comunicare testi lunghi all'utente? Avete realizzato
una vostra "finestra", usate JOptionPane o cosa? Ho anche provato a
scrivere queste 3 righe di codice, ma non il metodo SetPreferredSize
proprio non cambia la dimensione del JOptionPane.
JOptionPane mostraEccezione = new JOptionPane();
Dimension dimensione = new Dimension(100, 100);
mostraEccezione.setPreferredSize(dimensione);
mostraEccezione.showInternalMessageDialog(getContentPane(), "Eccezione
rilevata nella creazione dell'albero: \n" + e, "Informazione",
JOptionPane.WARNING_MESSAGE);
Grazie e buona programmazione in... Java, eh, eh. Ciao.
--
Paolo Guagliumi - ICQ 46580228
[ newsletter gratuita infosapere ] - 
http://web.tiscali.it/infosapere

Come far visualizzare testi un po' lunghi in una JOptionPane? 
Mi autorispondo. Ho realizzato questa classe da inserire in un nuovo
file logiamente di nome JOptionPaneEsteso.java. Sarebbe stato
possibile definire molti piu' parametri in input, dimensione, tipo di
JOptionPane utilizzato. La differenza rispetto ai normali JOptionPane?
Questo JOptionPane consente di specificare in testoMessaggio delle
stringhe piu' lunghe rispetto a  quelle normalmente definibili nei
normali JOptionPane.
Se comunque aveste delle soluzioni alternative, per favore scrivetele,
grazie. Se trovate errori o righe di codice migliorabili o non
completamente corrette, se avete suggerimenti, grazie!
// ******** importa i packages utili ********
import javax.swing.*;
import java.awt.Dimension;
   /* questo JOptionPane consente di specificare in testoMessaggio
delle stringhe piu' lunghe rispetto a  quelle normalmente definibili
nei normali JOptionPane */
class JOptionPaneEsteso extends JDialog
{
  public JOptionPaneEsteso(JFrame parent, String titolo, String
testoMessaggio)
  {
    super(parent, "Impostazione del carattere", true); // richiama la
superclasse per creare la JDialog
    JTextArea tmpAreaTesto = new JTextArea(testoMessaggio);
    tmpAreaTesto.setLineWrap(true);
    tmpAreaTesto.setWrapStyleWord(true);
    tmpAreaTesto.setRows((testoMessaggio.length()/80)+1);
    tmpAreaTesto.setBackground(getContentPane().getBackground());
    JOptionPane pane = new JOptionPane(tmpAreaTesto,
JOptionPane.WARNING_MESSAGE, JOptionPane.DEFAULT_OPTION );
    Dimension dimensionePane = new Dimension(400, 130);
    pane.setPreferredSize(dimensionePane);
    JDialog dialog = pane.createDialog(getContentPane(), titolo);
    pack();
    dialog.setVisible(true);


Se comunque aveste delle soluzioni alternative, per favore scrivetele,
[CUT]
Mando anche un mio spunto (non è poi molto diverso) ;-)
/*
 * Guagliumi.java
 */
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class Guagliumi extends JPanel {
 private static JFrame frame;
 public Guagliumi() {
  super();
  JButton button = new JButton("Apri JOptionPane");
  button.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent e) {
    JTextArea ta = new JTextArea();
    try {
     BufferedReader br = new BufferedReader(new FileReader
("Guagliumi.java"));
     StringBuffer sb = new StringBuffer();
     String temp;
     while ((temp = br.readLine()) != null) {
      sb.append(temp + "\n");
     }
     br.close();
     ta.setText(sb.toString());
     ta.setCaretPosition(0);
    } catch (Exception ex) {
     StringWriter sw = new StringWriter();
     ex.printStackTrace(new PrintWriter(sw));
     ta.setText(sw.toString());
     ta.setCaretPosition(0);
    }
    ta.setEditable(false);
    JScrollPane sp = new JScrollPane(ta);
    sp.setHorizontalScrollBarPolicy
(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    sp.setVerticalScrollBarPolicy
(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
    JDialog d = new JOptionPane(sp).createDialog(Guagliumi.this, 
"TITOLO");
    d.setSize(320, 240);
    d.setVisible(true);
   }
  });
  this.add(button);
 }
 
 public static void main(String[] args) {
  frame = new JFrame("Paolo Guagliumi");
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  frame.setSize(320, 240);
  frame.getContentPane().add(new Guagliumi());
  frame.setVisible(true);
 }
}
-- 
Ciao
	Fabrizio C.