Programmazione > Java

Output di calcolo in una TextArea Swing

(1/3) > >>

Gas75:
Salve.
Ieri sono riuscito a costruire l'interfaccia grafica del mio primo programmino in Java, e ho anche assegnato a un button la semplice funzione di ripulire i TextField di input. Ora viene la parte difficile! ;D
Sono riuscito a incorporare il codice di esecuzione che già funzionava nel programma a riga di comando nel sorgente del JFrame, ma non riesco a fargli stampare l'output in una TextArea che ho creato apposta. Il problema principale è che, siccome il programma stampa un numero di righe variabile a seconda di un valore int immesso dall'utente, questa stampa in TextArea deve stare in un apposito ciclo for, ma in tale posizione il nome della TextArea non piace a NetBeans.

Sono partito da un costrutto di questo tipo:
Code: You are not allowed to view links. Register or Loginpublic class <name-of-class> extends JFrame
{  private JTextArea <name-of-textarea> = new TextArea(<optional-size-info>);

   public <name-of-class>()
   {  this.add(<name-of-textarea>);
      <name-of-textarea>.append(<text-to-display>);
   }
}
--- End code ---
ma probabilmente non rispecchia il mio caso... Forse perché la JTextArea nel mio caso è definita nel private void initComponents() come
Code: You are not allowed to view links. Register or LoginOutputArea = new javax.swing.JTextArea();
--- End code ---
oltre che in coda al codice (non modificabile):
Code: You are not allowed to view links. Register or Loginprivate javax.swing.JTextArea OutputArea;
--- End code ---
Se commento this.add, non ho più errori secondo NetBeans, ma sulla console (non nella TextArea, poiché nel codice c'è il vecchio System.out.prinln per le eccezioni) visualizzo il messaggio previsto in caso valore immesso negativo, anche se lo immetto positivo.

Come posso orientarmi per risolvere?

Gas75:
Credo di avere risolto :): il blocco di codice era giusto ma andava messo nell'ActionPerformed del JButton, non nel main della classe! ::)

Purtroppo ora succede un effetto strano: l'output avviene nella JTextArea, che però appare dietro il JTabbedPane che costituisce l'interfaccia grafica, e posizionato in alto a sinistra, lasciando un riquadro "disattivato" dove dovrebbe stare... :o

Gas75:
Ho sistemato i vari oggetti swing in un layout di tipo Grid Bag, ma il problema persiste.

lynx:
You are not allowed to view links. Register or LoginCredo di avere risolto :): il blocco di codice era giusto ma andava messo nell'ActionPerformed del JButton, non nel main della classe! ::)
--- End quote ---
e mi pare giusto :)

You are not allowed to view links. Register or LoginPurtroppo ora succede un effetto strano: l'output avviene nella JTextArea, che però appare dietro il JTabbedPane che costituisce l'interfaccia grafica, e posizionato in alto a sinistra, lasciando un riquadro "disattivato" dove dovrebbe stare... :o

--- End quote ---
Posta uno screenshot
trova le righe del "riquadro disattivato", forse hai scritto semplicemente qualche riga prima/dopo

Gas75:
You are not allowed to view links. Register or Login
Risale a prima che inserissi il Grid Bag Layout, ma il risultato è identico...
Da quanto ho appena letto tra le API di Java, se ho capito bene, dovrebbe dipendere dal setViewportView, che dev'essere indicato in termini di X e Y, sennò il contenuto viene posizionato di default in alto a sinistra (X=0, Y=0), come in effetti succede a me.
Nel mio caso, il codice interessato, dovrebbe essere il seguente:
Code: You are not allowed to view links. Register or LoginOutputArea.setEditable(false);
OutputArea.setColumns(20);
OutputArea.setFont(new java.awt.Font("Monospaced", 0, 12));
OutputArea.setRows(5);
OutputArea.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
jScrollPane1.setViewportView(OutputArea);
--- End code ---
dove jScrollPane1 è il necessario "contenitore" della JTextArea OutputArea.

Navigation

[0] Message Index

[#] Next page

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 
There was an error while thanking
Thanking...
Go to full version