Visualizzazione dei risultati da 1 a 10 su 13

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da signfra Visualizza il messaggio
    Devo inserire una text field e una label in alto a sinistra. Non ha importanza come deve essere la text field e la label, anche semplici vanno bene.
    Il punto è che forse non hai ancora compreso il concetto in generale: quindi lo esprimo appunto in modo abbastanza generico. Se in un contenitore già visibile vuoi aggiungere/rimuovere dei componenti, puoi farlo tranquillamente usando i vari add/remove sul contenitore. Il problema non è tanto questo ma se il contenitore usa o no un layout manager.
    Se usa un layout manager, il layout va rivalidato e in genere basta un validate() invocato sul contenitore. Questo perlomeno vale per tutti i layout manager più semplici (es. BorderLayout, FlowLayout ecc...).
    Se non usa un layout manager, chiaramente dovrai posizionare/dimensionare esplicitamente i nuovi componenti e oltre a questo basta un repaint() invocato sul contenitore.

    Ti è più chiaro?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  2. #2
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Il punto è che forse non hai ancora compreso il concetto in generale: quindi lo esprimo appunto in modo abbastanza generico. Se in un contenitore già visibile vuoi aggiungere/rimuovere dei componenti, puoi farlo tranquillamente usando i vari add/remove sul contenitore. Il problema non è tanto questo ma se il contenitore usa o no un layout manager.
    Se usa un layout manager, il layout va rivalidato e in genere basta un validate() invocato sul contenitore. Questo perlomeno vale per tutti i layout manager più semplici (es. BorderLayout, FlowLayout ecc...).
    Se non usa un layout manager, chiaramente dovrai posizionare/dimensionare esplicitamente i nuovi componenti e oltre a questo basta un repaint() invocato sul contenitore.

    Ti è più chiaro?

    codice:
    private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {                                           
            // TODO add your handling code here:
     
            
            
            
            
            
            JTextField b,c,d,e;
            
            Frame f=new Frame("Carica Database");
            
            
         f.setSize(200,300);
           
         f.setLocation(100,100);
    
           
           f.setLayout(new GridLayout(3,2,10,20));
           
           
            
           b=new JTextField("");
           c=new JTextField("");
           d=new JTextField("");
           e=new JTextField("");
           
          
           
           
           
           
    
           
           
           
    
    f.add(b);
    f.add(c);
            f.add(d);
            f.add(e);
            
            f.setVisible(true);
            
           
            
            
            
            
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
            
             
             
            
        }
    Ecco ora la finestra si apre con i relativi text field, il problema e che voglio impostare una dimensione delle text field, come si procede?

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da signfra Visualizza il messaggio
    Ecco ora la finestra si apre con i relativi text field, il problema e che voglio impostare una dimensione delle text field, come si procede?
    Il punto è che con il codice che hai scritto non sono i JTextField ad "imporre" la propria dimensione. Invece è il GridLayout che considera le dimensioni del contenitore e lo suddivide in celle andando a "spartire" equamente tale spazio.
    Inoltre hai usato Frame che è di AWT. Meglio se usi (ormai .. al giorno d'oggi) JFrame di Swing.

    Non vorrei sembrare "cattivo" ma forse è meglio che ti armi di tanta pazienza e buona volontà e inizi a leggere dei libri/guide/tutorial su componenti e layout manager con un orientamento specifico verso Swing piuttosto che AWT.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Il punto è che con il codice che hai scritto non sono i JTextField ad "imporre" la propria dimensione. Invece è il GridLayout che considera le dimensioni del contenitore e lo suddivide in celle andando a "spartire" equamente tale spazio.
    Inoltre hai usato Frame che è di AWT. Meglio se usi (ormai .. al giorno d'oggi) JFrame di Swing.

    Non vorrei sembrare "cattivo" ma forse è meglio che ti armi di tanta pazienza e buona volontà e inizi a leggere dei libri/guide/tutorial su componenti e layout manager con un orientamento specifico verso Swing piuttosto che AWT.
    Ok, ho risolto, mi rimane da capire come posizionare la JTextField.

    si fa con setbounds? il fatto che non funziona

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da signfra Visualizza il messaggio
    Ok, ho risolto, mi rimane da capire come posizionare la JTextField.
    Ripeto che devi fare un piccolo sforzo per comprendere come funziona il layout, in generale, dei componenti in AWT/Swing. Cosa si può fare con i layout manager, cosa si può fare o meno senza i layout manager, ecc....
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Ripeto che devi fare un piccolo sforzo per comprendere come funziona il layout, in generale, dei componenti in AWT/Swing. Cosa si può fare con i layout manager, cosa si può fare o meno senza i layout manager, ecc....
    Ecco ora come posso fare che quando clicclo il bottone OK mi rimanda in un metodo di cui fare delle operazioni?

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.