Visualizzazione dei risultati da 1 a 8 su 8

Discussione: textarea con scrollbar

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    36

    textarea con scrollbar

    Salve avrei un problema con la textarea.
    Non sono molto esperto di java quindi mi affido alla vostra esperienza nella speranza di riuscire a risolvere questo enigma.
    Praticamente è una semplicissima Textarea alla quale vorrei aggiungere una scrollbar ma non riesco a capire come fare.

    questa è un sorgente esempio che è simile alla classe originale

    codice:
    import javax.swing.SwingUtilities;
    import java.awt.BorderLayout;
    import javax.swing.JPanel;
    import javax.swing.JFrame;
    import javax.swing.JTextArea;
    import java.awt.Rectangle;
    
    public class sdasd extends JFrame {
    
    	private static final long serialVersionUID = 1L;
    	private JPanel jContentPane = null
    	private JTextArea jTextArea = null;
    
    	private JTextArea getJTextArea() {
    		if (jTextArea == null) {
    			jTextArea = new JTextArea();
    			jTextArea.setBounds(new Rectangle(83, 28, 132, 118));
    		}
    		return jTextArea;
    	}
    
    	public static void main(String[] args) {
    		SwingUtilities.invokeLater(new Runnable() {
    			public void run() {
    				sdasd thisClass = new sdasd();
    				thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    				thisClass.setVisible(true);
    			}
    		});
    	}
    
    	public sdasd() {
    		super();
    		initialize();
    	}
    
    	private void initialize() {
    		this.setSize(300, 200);
    		this.setContentPane(getJContentPane());
    		this.setTitle("JFrame");
    	}
    	
    	private JPanel getJContentPane() {
    		if (jContentPane == null) {
    			jContentPane = new JPanel();
    			jContentPane.setLayout(null);
    			jContentPane.add(getJTextArea(), null);
    		}
    		return jContentPane;
    	}
    
    }
    Ringrazio anticipatamente

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Basta che crei uno JScrollPane:
    codice:
    JScrollPane  scroll = new JScrollPane(textArea, ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254

    Re: textarea con scrollbar

    Originariamente inviato da lodarin
    Praticamente è una semplicissima Textarea alla quale vorrei aggiungere una scrollbar ma non riesco a capire come fare.
    I componenti Swing non gestiscono per conto proprio le scrollbar. I componenti vanno messi dentro un JScrollPane. Questo vale specialmente per componenti tipo JTextArea/JEditorPane/JTextPane, JList, JTree, JTable.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    36
    grazie della risposta celere
    Dove devo metterlo? ho provato a metterlo sopra nelle dichiarazioni pubbliche ma nn va niente

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    36
    niente, ho provato ad aggiungere
    codice:
    JScrollPane  scroll = new JScrollPane(textArea, ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    ma nn succedere niente....dove sbaglio?

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Originariamente inviato da lodarin
    ma nn succedere niente....dove sbaglio?
    "Piccolo" dettaglio: ciò che devi aggiungere nel tuo container non è più JTextArea ma JScrollPane!!!!
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    36
    cioè al posto di

    codice:
    private JPanel getJContentPane() {
    		if (jContentPane == null) {
    			jContentPane = new JPanel();
    			jContentPane.setLayout(null);
    			jContentPane.add(getJTextArea(), null);
    		}
    		return jContentPane;
    	}
    devo fare così?

    codice:
    private JPanel getJContentPane() {
    		if (jContentPane == null) {
    			jContentPane = new JPanel();
    			jContentPane.setLayout(null);
    			jContentPane.add(JScrollPane(), null);
    		}
    		return jContentPane;
    	}

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Originariamente inviato da lodarin
    jContentPane.add(JScrollPane(), null);
    Se quel JScrollPane() è un tuo metodo che restituisce un JScrollPane creato per contenere la JTextArea ... beh, sì. Anche se fare un metodo con il nome di una classe preesistente non è affatto grazioso.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

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.