Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    22

    [Java] Scrivere nei JPanel

    Scusate la domanda forse stupida ma sono alle prime armi con java e soprattutto con gli swing.
    Vorrei scrivere all'interno di un JPanel un messaggio (testo) che deve essere immodificabile.
    E vorrei fare in modo che tale messaggio si adatti all'ampiezza della finestra...nel senso che vorrei risultasse essere un messaggio su più righe quando magari la finestra è più piccola per diventare su un'unica riga quando allargo completamente la finestra...quindi in due parole vorrei che il testo si adattasse alla finestra andando automaticamente a capo quando incontra il margine destro della finestra senza l'utilizzo dello scroll bar.
    E' possibile fare questo? E se sì, in che modo? Tramite quale componente?

    grazie.

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

    Re: [Java] Scrivere nei JPanel

    Originariamente inviato da gyuseppe
    Scusate la domanda forse stupida ma sono alle prime armi con java e soprattutto con gli swing.
    Vorrei scrivere all'interno di un JPanel un messaggio (testo) che deve essere immodificabile.
    E vorrei fare in modo che tale messaggio si adatti all'ampiezza della finestra...nel senso che vorrei risultasse essere un messaggio su più righe quando magari la finestra è più piccola per diventare su un'unica riga quando allargo completamente la finestra...quindi in due parole vorrei che il testo si adattasse alla finestra andando automaticamente a capo quando incontra il margine destro della finestra senza l'utilizzo dello scroll bar.
    E' possibile fare questo? E se sì, in che modo? Tramite quale componente?
    Va bene anche una JLabel ma con un accorgimento: utilizzare la formattazione in HTML.

    In pratica:

    JLabel label = new JLabel ("<html>.....un testo molto lungo.....</html>");

    Se ti sembra strano, sappi che molti componenti Swing sono in grado di usare (in modo limitato) una formattazione HTML.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    22
    ho provato a seguire il tuo consiglio...ma rimane cmq il problema che il testo rimane su un'unica riga e mi compare la scrollbar orizzontale se la finestra in larghezza è pià piccola della lunghezza del testo...cosa sbaglio?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da gyuseppe
    ho provato a seguire il tuo consiglio...ma rimane cmq il problema che il testo rimane su un'unica riga e mi compare la scrollbar orizzontale se la finestra in larghezza è pià piccola della lunghezza del testo...cosa sbaglio?
    Compila e prova:
    codice:
    import javax.swing.*;
    
    public class TestFrame extends JFrame
    {
        public TestFrame ()
        {
            super ("Prova");
            setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
            setSize (300, 300);
    
            JLabel label = new JLabel ("<html>Java is a programming language originally developed " +
                                       "by Sun Microsystems and released in 1995. Java applications " +
                                       "are typically compiled to bytecode, although compilation to " +
                                       "native machine code is also possible. At runtime, bytecode is " +
                                       "usually either interpreted or compiled to native code for " +
                                       "execution, although direct hardware execution of bytecode by " +
                                       "a Java processor is also possible.</html>");
            label.setVerticalAlignment (JLabel.TOP);
            add (label);
        }
    
        public static void main (String[] args)
        {
            SwingUtilities.invokeLater (new Runnable () {
                public void run () {
                    TestFrame f = new TestFrame ();
                    f.setVisible (true);
                }
            });
        }
    }
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    22
    grazie...provo subito

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    22
    sì così funziona...però se restringo la finestra in altezza non essendoci lo scrollbar non mi fa visualizzare l'intero testo...però se metto lo scrollbar...ritorna il problema di prima cioè che non mi ristinge il testo in base alla finestra ma mi scrive tutto su una riga e compare lo scrollbar scusa per il fastidio che ti sto dando...ma non riesco ad uscirne...

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da gyuseppe
    sì così funziona...però se restringo la finestra in altezza non essendoci lo scrollbar non mi fa visualizzare l'intero testo...però se metto lo scrollbar...ritorna il problema di prima cioè che non mi ristinge il testo in base alla finestra ma mi scrive tutto su una riga e compare lo scrollbar scusa per il fastidio che ti sto dando...ma non riesco ad uscirne...
    Già ... con JLabel è un po' un problema. Tagliamo la testa al toro Usa un JTextArea:

    codice:
    JTextArea textArea = new JTextArea ("blablabla");
    
    textArea.setFocusable (false);
    textArea.setEditable (false);
    textArea.setLineWrap (true);
    textArea.setWrapStyleWord (true);
    
    JScrollPane scrollPane = new JScrollPane (textArea,
                                              JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
                                              JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
    
    
    add (scrollPane);
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    22
    GRANDE! perfetto...così è decisamente meglio...grazie mille

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.