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

    problemi con JtextArea

    salve a tutti,
    ho creato una finestra jframe per parserizzare dei file xml ho usato jdom come parser.
    il file lo ricevo tranquillamente.
    quando vado però a creare le jtext aree per inserire il testo del file.
    queste mi appaiono più grandi della finestra e quindi il testo. non mi viene letto x bene.
    ho usato un jscrollo pane e la situazione è migliorata.
    solo ke: la jtext area la vorrei più piccola, ma se uso il metodo sezSize non mi diventa come voglio come posso fare.
    inoltre volevo sapere come fare a centrare il testo inserito dentro un jtextfield.
    xkè me lo fa partire sempre da sinistra.
    Nothing is Impossible

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

    Re: problemi con JtextArea

    Originariamente inviato da ab_bobo82
    solo ke: la jtext area la vorrei più piccola, ma se uso il metodo sezSize non mi diventa come voglio come posso fare.
    Questione del layout-manager che hai usato. (in un JFrame il layout di default è BorderLayout).

    Originariamente inviato da ab_bobo82
    inoltre volevo sapere come fare a centrare il testo inserito dentro un jtextfield.
    xkè me lo fa partire sempre da sinistra.
    setHorizontalAlignment() di JTextField.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    grazie ho provato.
    però mi da sempre lo stesso errore.
    praticamente mi apre l'area di testo. e inizia a scrivere diciamo dal centro.
    non inizia a scrivere da dove inizia l'area di testo.
    un 'altro problema ke ho trovato e quando faccio il refresh
    della pagina.cioè se ne apro un nuovo documento xml
    e vado a sovrascrivere quella di sopra non mi aggiorna l'area di testo.
    posto qui il codice:

    package esempi1;
    import java.awt.BorderLayout;
    import java.awt.Component;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.IOException;
    import java.util.Iterator;
    import java.util.List;

    import javax.swing.BoxLayout;
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTextArea;
    import javax.swing.JTextField;
    import javax.swing.WindowConstants;

    import org.jdom.Document;
    import org.jdom.Element;
    import org.jdom.JDOMException;
    import org.jdom.input.SAXBuilder;


    public class BrowserInternet implements ActionListener {

    JFrame finestra = new JFrame();
    JPanel pane1 = new JPanel();
    JPanel pane2 = new JPanel();
    JPanel pane3 = new JPanel();
    JPanel pane4 = new JPanel();
    JPanel pane5 = new JPanel();
    JButton bottone = new JButton ("vai");
    JTextField sito ;
    JLabel titolo;


    public BrowserInternet() {
    pane5.setSize(30, 30);
    pane4.setSize(30,30);
    bottone.addActionListener( this);
    titolo = new JLabel();
    sito = new JTextField (30);
    pane1.add(sito);
    pane1.add(bottone);
    finestra.getContentPane().setLayout(new BorderLayout());
    pane2.setLayout(new BoxLayout( pane2, BoxLayout.Y_AXIS));
    //titolo.setAlignmentX(Component.LEFT_ALIGNMENT);
    titolo.setVisible(false);
    pane2.setVisible(false);
    pane2.add(titolo);
    finestra.getContentPane().add(BorderLayout.NORTH, pane1);
    finestra.getContentPane().add(BorderLayout.CENTER, pane2);
    finestra.getContentPane().add(BorderLayout.EAST, pane5);
    finestra.getContentPane().add(BorderLayout.WEST, pane4);
    finestra.getContentPane().add(BorderLayout.SOUTH, pane3);


    finestra.setTitle("Java Browser");
    finestra.setVisible(true);
    finestra.setSize(400, 600);
    finestra.pack();
    finestra.setDefaultCloseOperation(WindowConstants. DISPOSE_ON_CLOSE );

    }

    // metodo per la gestione dell'evento click sul pulsante vai
    public void actionPerformed (ActionEvent e) {
    SAXBuilder builder = new SAXBuilder();
    Document doc;
    try {
    doc = builder.build(sito.getText());

    Element par = doc.getRootElement().getChild("info");
    titolo.setText(par.getChildText("title"));
    titolo.setAlignmentX(Component.CENTER_ALIGNMENT);
    titolo.setVisible(true);
    System.out.println("il titolo del document è: "+par.getChildText("title"));
    List paragrafi = par.getChildren("par");
    System.out.println ("i figli di nome paragrafo sono: "+paragrafi.size());
    Iterator scorrilista = paragrafi.iterator();
    while( scorrilista.hasNext())
    {Element item = (Element) scorrilista.next();
    List part = item.getChildren();
    Iterator scorripart = part.iterator();
    while (scorripart.hasNext()) {
    Element spart =(Element) scorripart.next();
    if (spart.getName() == "image")
    {ImageIcon immagine=new ImageIcon(spart.getText());
    JLabel sfondo=new JLabel(immagine);
    sfondo.setAlignmentX(Component.CENTER_ALIGNMENT);
    pane2.add(sfondo);

    }
    List text = spart.getChildren();
    Iterator scorritesto = text.iterator();
    while ( scorritesto.hasNext() ) {
    Element text1 = (Element) scorritesto.next();
    if (text1.getName()== "text" && text1.getText() != "ariosto" ) {
    JTextArea area = new JTextArea();

    // area.setAlignmentX(Component.CENTER_ALIGNMENT);
    //area.setColumns(30);
    area.setText(text1.getText());
    JScrollPane jp = new JScrollPane(area);
    pane2.add(jp);



    } else if ( text1.getName()== "link") {
    System.out.println("il contenuto del figlio concept di link è: "+text1.getChildText("destinationConcept") );
    JButton link = new JButton();
    link.setText(text1.getChildText("textURL"));
    pane3.add(link);
    }

    }
    }
    }

    } catch (JDOMException e1) {
    // TODO Blocco catch generato automaticamente
    e1.printStackTrace();
    } catch (IOException e1) {
    // TODO Blocco catch generato automaticamente
    e1.printStackTrace();
    }

    pane2.setVisible(true);
    }



    public static void main(String[] args) {
    BrowserInternet b1 = new BrowserInternet();

    }

    }

    nb i SystemOut li ho messi per vedere se funzionavano i metodi get
    Nothing is Impossible

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Per l'allineamento
    setHorizontalAlignment() di JTextField.
    Vedi http://java.sun.com/j2se/1.4.2/docs/...Alignment(int)
    Per l'aggiornamento puoi provare a fare un repaint() del pannello che contiene gli elementi aggiornati.

  5. #5
    ok grazie,
    ho risolto poi , ho utiizzato un metodo setTabSize ke mi fa partire la parte scritta da sinistra settendolo ad uno e poi ho utilizzato un layout manager creando due pannellli a destra e a sinistra senza niente all'interno, però in questo modo l'area di testo si è ristretta occupando solo la parte centrale della finestra e i margini rientrano all'interno della finestra.
    Nothing is Impossible

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.