Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Allargare la JTextArea

    Ciao, io ho una JTextArea inserita in un JPanel.
    Se allargo il JPanel quale metodo devo usare per far adattare alle dimensioni anche la JTextArea.

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    71
    In generale mi sembra che gli oggetti vengano riadattati automaticamente, dipende che layout hai utilizzato.

  3. #3
    Quando allargo il pannello la mia TextArea rimane piccolina...
    [CODE]
    public Gui() {
    super("Console");
    console = new JTextArea(30, 40);
    gbl = new GridBagLayout();
    contentPanA = new JPanel(gbl);
    GridBagConstraints c = new GridBagConstraints();

    c.gridwidth = GridBagConstraints.REMAINDER;
    addComponent(console, c);
    console.setEditable(true); /* set a textarea editable */

    JScrollPane scroll = new JScrollPane(console); /* scrool bar */
    addComponent(scroll, c);
    /**/
    this.setContentPane(contentPanA);
    Controller ok2 = new Controller(console);
    console.addKeyListener(ok2);

    this.addWindowListener(new WHandler());

    this.pack();
    this.setLocation(200, 100);
    this.setVisible(true);
    this.setResizable(true); /* per allargare finestra */

    }

    private void addComponent(JComponent jc, GridBagConstraints gbc) {
    gbl.setConstraints(jc, gbc); /* setto il componente */
    contentPanA.add(jc); /* aggiungoil compnente */
    }
    }
    [\CODE]

  4. #4
    Bene ho risolto da sola, se qualcuno ha il mio stesso problema basta che aggiunge queste 3 righe al codice che ho scritto sopra.

    c.fill = GridBagConstraints.BOTH;
    c.weightx = 1.0;
    c.weighty = 1.0;



    c non è altro che GridBagConstraints.

    Se a qualcuno serve il codice per esteso con anche il main basta chiedere..
    Ciao a tutti

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    71
    Il layout che hai utilizzato è quello più malleabile alle proprie esigenze, ma forse un po' più complicato, secondo me negli altri il ridimensionamento è automatico, in questo mi sembra tu debba settare il parametro del ridimensionamento in questo modo:

    c.fill = GridBagConstraints.BOTH;

    Ossia dici di ridimensionare su entrambe le dimensioni (scusa il gioco di parole).

    Ecco un esempio preso da tutorial della sun, un po' ripulito:
    codice:
    /* TextDemo.java requires no other files. */
    
    import java.awt.*;
    import javax.swing.*;
    
    public class TextDemo extends JPanel{
        protected JTextArea textArea;
    
        public TextDemo() {
            super(new GridBagLayout());
    
            textArea = new JTextArea(5, 20);
            JScrollPane scrollPane = new JScrollPane(textArea,
                                           JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
                                           JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
    
            //Add Components to this panel.
            GridBagConstraints c = new GridBagConstraints();
            c.gridwidth = GridBagConstraints.REMAINDER;
    
            c.fill = GridBagConstraints.BOTH;
            c.weightx = 1.0;
            c.weighty = 1.0;
            add(scrollPane, c);
        }
    
        /**
         * Create the GUI and show it.  For thread safety,
         * this method should be invoked from the
         * event-dispatching thread.
         */
        private static void createAndShowGUI() {
            //Create and set up the window.
            JFrame frame = new JFrame("TextDemo");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
            //Create and set up the content pane.
            JComponent newContentPane = new TextDemo();
            newContentPane.setOpaque(true); //content panes must be opaque
            frame.setContentPane(newContentPane);
    
            //Display the window.
            frame.pack();
            frame.setVisible(true);
        }
    
        public static void main(String[] args) {
            //Schedule a job for the event-dispatching thread:
            //creating and showing this application's GUI.
            javax.swing.SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    createAndShowGUI();
                }
            });
        }
    }

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    71
    Mi hai antici pato di un soffio.

  7. #7
    Abbiamo trovato le stesse fonti!!!! Comunque grazie...

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.