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

    [JAVA] Lanciare JFrame2 da JFrame1

    ciao a tutti,
    sto realizzando un tool con Netbeans in cui vorrei lanciare un secondo jFrame, chiamato choose, dopo aver premuto il pulsante "avvia" presente nel primo JFrame.
    Questo il codice:
    codice:
    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    
            try {
                String file = jTextField1.getText();
    InputStream out = new FileInputStream(file);
    Workbook book = WorkbookFactory.create(out);
    String sheet=book.getSheetName(0);
    JFrame w=new .choose();
    w.setVisible(true);
    .....
    il problema è che visualizzo il secondo frame ma senza pulsanti e textfield.
    In cosa sbaglio? come posso visualizzare il secondo frame completo di pulsanti etc?

    grazie mille

    dottbin

  2. #2
    codice:
    ...
    JFrame w=new .choose();
    w.setVisible(true);
    ...
    Se non gli aggiungi alcun componente ovviamente non ne avrà.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    grazie per la risposta.
    il punto è che ho creato con Netbeans un progetto con 2 files java:
    myproject
    -mainframe.java
    -choose.java
    in mainframe.java è presente il frame1.
    Mentre la configurazione del secondo frame è presente nel file choose.java e vorrei che dal mainframe.java venga lanciato il frame2 (quando premo il pulsante presente nel frame1) configurato nel file choose.java
    Devo configurare per forza i 2 frame nello stesso file java?


    Spero di essere stato chiaro

  4. #4
    Ma quando hai creato il JFrame choose tramite Netbeans non hai aggiunto i vari componenti?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Originariamente inviato da satifal
    Ma quando hai creato il JFrame choose tramite Netbeans non hai aggiunto i vari componenti?
    si ho aggiunto tutto. Ti riporto il codice
    codice:
    public class choose extends javax.swing.JFrame {
    
        /** Creates new form choose */
        public choose() {
            initComponents();
        }
    
        /** This method is called from within the constructor to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
         */
        @SuppressWarnings("unchecked")
        // <editor-fold defaultstate="collapsed" desc="Generated Code">
        private void initComponents() {
    
            jScrollPane1 = new javax.swing.JScrollPane();
            jTextPane1 = new javax.swing.JTextPane();
            jLabel1 = new javax.swing.JLabel();
            jButton1 = new javax.swing.JButton();
    
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    
            jScrollPane1.setName("jScrollPane1"); // NOI18N
    
            jTextPane1.setName("jTextPane1"); // NOI18N
            jScrollPane1.setViewportView(jTextPane1);
    
            jLabel1.setFont(new java.awt.Font("Tahoma", 3, 12)); // NOI18N
            jLabel1.setText("Insert Source RNC id");
            jLabel1.setName("jLabel1"); // NOI18N
    
            jButton1.setText("OK");
            jButton1.setAutoscrolls(true);
            jButton1.setName("jButton1"); // NOI18N
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton1ActionPerformed(evt);
                }
            });
    
            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(layout.createSequentialGroup()
                            .addContainerGap()
                            .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 131, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGroup(layout.createSequentialGroup()
                            .addGap(29, 29, 29)
                            .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGroup(layout.createSequentialGroup()
                            .addGap(48, 48, 48)
                            .addComponent(jButton1)))
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            );
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGap(12, 12, 12)
                    .addComponent(jLabel1)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addComponent(jButton1)
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            );
    
            pack();
        }// </editor-fold>
    
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
            // TODO add your handling code here:
        }
    
        /**
        * @param args the command line arguments
        */
        public static void main(String args[]) {
          //  java.awt.EventQueue.invokeLater(new Runnable() {
                //public void run() {
                  //  new choose().setVisible(true);
               // }
            }//);
        
    
        // Variables declaration - do not modify
        private javax.swing.JButton jButton1;
        private javax.swing.JLabel jLabel1;
        private javax.swing.JScrollPane jScrollPane1;
        private javax.swing.JTextPane jTextPane1;
        // End of variables declaration
    
    }

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    secondo me dovresti delegare all'event dispatch thread la creazione/visualizzazione del tuo frame.
    Avviando direttamente il frame (da solo senza l'altro passaggio) funziona?

  7. #7
    si funziona.

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    ok allora prova con l'eventdispatchthread

  9. #9
    Originariamente inviato da valia
    ok allora prova con l'eventdispatchthread
    grazie dell'info ma non so da dove partire. qualche suggerimento?

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.