Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Focus su JButton

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    83

    Focus su JButton

    Salve a tutti,
    chiedo il vostro aiuto per un problema sul focus.

    Ho cercato un po' su internet, ma non sono riuscito a risolvere la questione..
    Ho provato un po' tutti i metodi.. requestFocus(), requestFocusInWindow() , ma niente..

    Da qualche parte ho letto che il funzionamento del metodo dipende dalla posizione nel codice. Mi sembra un po' strano in realtà..

    Ho messo il codice.. mi direste dove sto sbagliando ? Il focus va messo su jButton1..
    Grazie

    codice:
    public class FirstUsePanel extends javax.swing.JPanel { 
              private JButton jButton1,jButton2;
              private JLabel jLabel1,jLabel2,jLabel3; 
              private JSeparator jSeparator1; 
    
              private MainFrame index; 
              private final JPanel myself=this; 
              private final int PANEL_WIDTH=515, PANEL_HEIGTH=80; 
    
             public FirstUsePanel(MainFrame index) { 
                       // COSTRUTTORE
                        this.index=index; 
                        this.setSize(PANEL_WIDTH, PANEL_HEIGTH); 
    
                        initComponents();
              }
    
              private void initComponents() { 
                      jLabel1 = new JLabel(); 
                      jLabel2 = new JLabel(); 
                      jLabel3 = new JLabel(); 
                      jSeparator1 = new JSeparator(); 
    
                      jButton1 = new JButton(); 
                      jButton2 = new JButton(); 
    
                      jLabel1.setIcon(new ImageIcon("images\\crypto_icon.JPG"));
                      jLabel2.setText("WELCOME !!!"); 
                      jLabel3.setText("Click Next to continue the installation or Cancel to exit setup "); 
    
                       jButton1.setText("Next");
                       jButton2.setText("Cancel"); 
                       jButton1.requestFocus(); /* NON FUNZIONA :( */
    
    /* QUESTO IN BASSO É IL CODICE DI LAYOUT GENERATO DA NetBeans */
    
                         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);           
                         this.setLayout(layout); layout.setHorizontalGroup( 
                         layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
                           .addGroup(layout.createSequentialGroup() .addContainerGap() 
                           .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 122,  
                            javax.swing.GroupLayout.PREFERRED_SIZE) 
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
                           .addGroup(layout.createSequentialGroup() 
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
                .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 196, 
                 javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jSeparator1, 
                 javax.swing.GroupLayout.PREFERRED_SIZE, 154, 
                 javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel3))) 
                 .addGroup(layout.createSequentialGroup() .addGap(44, 44, 44) 
                 .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 102, 
                 javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(34, 34, 34) 
                 .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 102, 
                 javax.swing.GroupLayout.PREFERRED_SIZE))) .addContainerGap(45, 
                 Short.MAX_VALUE)) ); layout.setVerticalGroup( 
                 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
                 .addGroup(layout.createSequentialGroup() .addContainerGap() 
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
                .addGroup(layout.createSequentialGroup() .addComponent(jLabel1, 
                 javax.swing.GroupLayout.PREFERRED_SIZE, 147, 
                 javax.swing.GroupLayout.PREFERRED_SIZE) 
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 
                .addGroup(layout.createSequentialGroup() .addComponent(jLabel2, 
                javax.swing.GroupLayout.PREFERRED_SIZE, 29, 
                javax.swing.GroupLayout.PREFERRED_SIZE) 
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 
                .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, 
                javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) 
               .addComponent(jLabel3) 
               .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 30, 
                 Short.MAX_VALUE) 
               .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 
               .addComponent(jButton2) .addComponent(jButton1)) .addGap(28, 28, 28)))) ); }

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Hai provato a fare la chiamata a requestFocusInWindow() dopo la chiamata di initComponents()?

    Ricordati che le istruzioni vengono eseguite in sequenza: se dopo che tu hai messo il focus su X fai altre operazioni con la GUI, è possibile che il focus si sposti agli ultimi componenti su cui hai "messo le mani"
    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
    Registrato dal
    Jan 2005
    Messaggi
    83
    Ciao Alex,
    innanzitutto grazie dell'aiuto !

    Ho appena provato, ma niente..

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da onieliv
    Ciao Alex,
    innanzitutto grazie dell'aiuto !

    Ho appena provato, ma niente..
    Ho visto ora che quella classe rappresenta solo un pannello Probabilmente dalla creazione del pannello alla visualizzazione della finestra c'è qualcosa che "interferisce". Dovresti richiedere il focus nel MainFrame, un attimo primo di visualizzarlo a schermo.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

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.