Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: TextArea allargabile

  1. #1

    TextArea allargabile

    Ciao a tutti..

    Volevo una consulenza in merito a un'opzione per la costruzione di GUI con Java.
    Ho una textArea in un panel dentro un Frame.Allargando il Frame voglio che la TextArea si allarghi insieme al pannello e al Frame.

    Come posso fare?

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    502
    JTextArea dentro il CENTER di un JPanel con BorderLayout. Panel dentro il CENTER del JFrame.
    al volante son nervoso

  3. #3
    Codice PHP:
    import java.awt.*; 
    import java.awt.event.*;
    import javax.swing.*; 
    public class 
    GUI extends JFrame 
      public 
    GUI() {    
        
    JPanel p1 = new JPanel(); //creo il pannello
        
    p1.setLayout (new FlowLayout()); //gli do il layout
        
    JTextArea t1 = new JTextArea ("HELLO"20 20); //creo una textarea            
        
    p1.add (t1BorderLayout.CENTER);//aggiungo l'area di testo al pannello al centro
        
    add (p2BorderLayout.CENTER); //aggiungo il pannello al centro della finestra
        
    setSize(600,600); //setto la larghezza a caso
        
    setVisible(true);  //la rendo visibile
        //la rendo chiudubile
        
    addWindowListener( new WindowAdapter() { 
           public 
    void windowClosing(WindowEvent e){        
             
    System.out.println("Window Closing");
             
    System.exit(0);
          }
        });
      }





    Però comunque non si allarga la textarea se allargo la finestra(frame)!
    Come faccio?

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    502
    Originariamente inviato da OvettoKinder
    Codice PHP:
    import java.awt.*; 
    import java.awt.event.*;
    import javax.swing.*; 
    public class 
    GUI extends JFrame 
      public 
    GUI() {    
        
    JPanel p1 = new JPanel(); //creo il pannello
        
    p1.setLayout (new FlowLayout()); //gli do il layout
        
    JTextArea t1 = new JTextArea ("HELLO"20 20); //creo una textarea            
        
    p1.add (t1BorderLayout.CENTER);//aggiungo l'area di testo al pannello al centro
        
    add (p2BorderLayout.CENTER); //aggiungo il pannello al centro della finestra
        
    setSize(600,600); //setto la larghezza a caso
        
    setVisible(true);  //la rendo visibile
        //la rendo chiudubile
        
    addWindowListener( new WindowAdapter() { 
           public 
    void windowClosing(WindowEvent e){        
             
    System.out.println("Window Closing");
             
    System.exit(0);
          }
        });
      }





    Però comunque non si allarga la textarea se allargo la finestra(frame)!
    Come faccio?

    p1 nasce con FlowLayout e poi lo tratti come se avesse un BorderLayout...
    p2 non capisco dove lo crei...
    al volante son nervoso

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da OvettoKinder
    Però comunque non si allarga la textarea se allargo la finestra(frame)!
    Come faccio?
    Innanzitutto un JTextArea si mette tipicamente come "view" di un JScrollPane.

    Poi comunque no, non è FlowLayout che ti serve. Se vuoi che il JTextArea (meglio dire il JScrollPane se metti il JTextArea come sua view) si adatti alla dimensione del frame, devi metterlo in un certo layout e in modo particolare in una certa area del layout tale per cui occupi tutto lo spazio disponibile.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    p2 l'abbiamo scritto per sbaglio scusa.
    Comunque è vero mettendo BorderLayout funziona ma solo allungando "l'altezza" in larghezza non si modifica.
    -Go big or go home-
    -take it as it is-

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da KinderCereali
    Comunque è vero mettendo BorderLayout funziona ma solo allungando "l'altezza" in larghezza non si modifica.
    Ma dipende in quale area l'hai messo ... e quale è il contenitore che ha il BorderLayout (il content pane?).

    Il content pane di un JFrame ha un BorderLayout. Se metti un JTextArea o meglio un JScrollPane (che ha come "view" il JTextArea) nella parte CENTER, allora occupa tutto lo spazio disponibile in CENTER e quindi, transitivamente, tutto lo spazio disponibile del JFrame. A meno ovviamente ciò che è magari presente nelle altre 4 aree.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  8. #8
    in realtà quello a cui punteremmo sarebbe avere due TextArea una a destra e una a sinistra e quando si allarga il Frame queste si allargano equamente espandendosi e occupando metà spazio a testa
    -Go big or go home-
    -take it as it is-

  9. #9
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da KinderCereali
    avere due TextArea una a destra e una a sinistra e quando si allarga il Frame queste si allargano equamente
    Allora niente BorderLayout!! Ma bensì un GridLayout di 1 riga per 2 colonne. In un GridLayout le celle sono tutte della stessa dimensione. Quindi nel tuo caso i due componenti verrebbero dimensionati allo stesso modo spartendosi equamente larghezza del contenitore (quello che ha il GridLayout).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  10. #10
    Quindi faccio un Frame nel Frame metto un Panel con GridLayout(1,2) e poi si possono inserire le TextArea nel Grid??
    -Go big or go home-
    -take it as it is-

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 © 2025 vBulletin Solutions, Inc. All rights reserved.