2012-05-09 149 views
2

我是Java新手。我試圖找到解決方案,但我不知道如何繼續。如何將一個變量從一個JFrame傳遞到另一個JFrame

我有2 Jframes(JF1,JF2),我需要從JF1傳遞一個變量來JF2

這是JF1代碼:注:我需要的x值,由x得到它JTextfeild。

任何一個可以幫我請

/* 
* JF1.java 
* 
* Created on 04 مايو, 2012, 09:01 م 
*/ 

package finalpro; 

import java.io.BufferedInputStream; 
import javax.swing.JOptionPane; 

/** 
* 
* @author OmaR 
*/ 
public class JF1 extends javax.swing.JFrame { 

    /** Creates new form JF1 */ 
    public JF1() { 
     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. 
    */ 
    // <editor-fold defaultstate="collapsed" desc="Generated Code">       
    private void initComponents() { 

     jLabel1 = new javax.swing.JLabel(); 
     JB1 = new javax.swing.JButton(); 
     JB3 = new javax.swing.JButton(); 
     JB2 = new javax.swing.JButton(); 
     jLabel2 = new javax.swing.JLabel(); 
     jTextField1 = new javax.swing.JTextField(); 
     jButton1 = new javax.swing.JButton(); 

     setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); 

     jLabel1.setText("Online Test Creater"); 

     JB1.setText("Make"); 
     JB1.addActionListener(new java.awt.event.ActionListener() { 
      public void actionPerformed(java.awt.event.ActionEvent evt) { 
       JB1ActionPerformed(evt); 
      } 
     }); 

     JB3.setText("Quit"); 
     JB3.addActionListener(new java.awt.event.ActionListener() { 
      public void actionPerformed(java.awt.event.ActionEvent evt) { 
       JB3ActionPerformed(evt); 
      } 
     }); 

     JB2.setText("Reset"); 
     JB2.addActionListener(new java.awt.event.ActionListener() { 
      public void actionPerformed(java.awt.event.ActionEvent evt) { 
       JB2ActionPerformed(evt); 
      } 
     }); 

     jLabel2.setText("Number Of Question"); 

     jTextField1.addMouseListener(new java.awt.event.MouseAdapter() { 
      public void mouseClicked(java.awt.event.MouseEvent evt) { 
       jTextField1MouseClicked(evt); 
      } 
     }); 

     jButton1.setText("Main"); 
     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() 
       .addContainerGap() 
       .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
        .addGroup(layout.createSequentialGroup() 
         .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 127, javax.swing.GroupLayout.PREFERRED_SIZE) 
         .addGap(43, 43, 43) 
         .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE) 
         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 50, Short.MAX_VALUE)) 
        .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() 
         .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 128, javax.swing.GroupLayout.PREFERRED_SIZE) 
         .addGap(34, 34, 34))) 
       .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
        .addComponent(JB2) 
        .addComponent(JB3) 
        .addComponent(JB1) 
        .addComponent(jButton1)) 
       .addGap(30, 30, 30)) 
     ); 

     layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {JB1, JB2, JB3, jButton1}); 

     layout.setVerticalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(layout.createSequentialGroup() 
       .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
        .addGroup(layout.createSequentialGroup() 
         .addGap(19, 19, 19) 
         .addComponent(jLabel1)) 
        .addGroup(layout.createSequentialGroup() 
         .addGap(31, 31, 31) 
         .addComponent(JB1))) 
       .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 
       .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
        .addComponent(jLabel2) 
        .addGroup(layout.createSequentialGroup() 
         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 
          .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 
          .addComponent(jButton1)) 
         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 
         .addComponent(JB2) 
         .addGap(18, 18, 18) 
         .addComponent(JB3))) 
       .addContainerGap(37, Short.MAX_VALUE)) 
     ); 

     layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {JB1, JB2, JB3, jButton1}); 

     pack(); 
    }// </editor-fold>       

    private void JB3ActionPerformed(java.awt.event.ActionEvent evt) {          
     // TODO add your handling code here: 
     System.exit(0); 
    }         

    private void JB2ActionPerformed(java.awt.event.ActionEvent evt) {          
     // TODO add your handling code here: 
     jTextField1.setText(""); 

    }         

    private void JB1ActionPerformed(java.awt.event.ActionEvent evt) {          
     // TODO add your handling code here: 

      JF1 JFBU = new JF1() ; 
      JF2 JCreate = new JF2(); 

      this.setVisible(false); 
     int z = Integer.parseInt(jTextField1.getText()); 


      if (z == 0) 
      { 
       JOptionPane.showMessageDialog(null, " You Enter 0 Please write anumber "); 

       } 
      else 
      { 
      JCreate.setVisible(true); 
      } 


    }         

    private void jTextField1MouseClicked(java.awt.event.MouseEvent evt) {           
     // TODO add your handling code here: 
     JOptionPane.showMessageDialog(null, "The Max Number of Questions Is 10"); 
    }           

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {           
     // TODO add your handling code here: 
     JFmain JFm = new JFmain(); 
     JFm.setVisible(true); 
     this.setVisible(false); 
    }           

    public static void main(String args[]) { 
     java.awt.EventQueue.invokeLater(new Runnable() { 
      public void run() { 
       new JF1().setVisible(true); 

      } 
     }); 
    } 

    // Variables declaration - do not modify      
    private javax.swing.JButton JB1; 
    private javax.swing.JButton JB2; 
    private javax.swing.JButton JB3; 
    private javax.swing.JButton jButton1; 
    private javax.swing.JLabel jLabel1; 
    private javax.swing.JLabel jLabel2; 
    private javax.swing.JTextField jTextField1; 
    // End of variables declaration     


} 

我有JF2,我需要通過就可以了無功ž。

+3

(offtopic)這是習慣使用命名Java變量名'lowercaseStartingCamelCase '。因此,您的'JFmain Jfm = new JFmain()'的聲明會更好,因爲'JFmain jfm = new JFmain()'。同樣你的'JButton'變量 –

+0

感謝您的評論我會開始做到 –

回答

2

與參數int z創建構造函數:

public class JF2 extends JFrame { 
    private int z; 

    public void setZ(int z) { 
     this.z = z; 
    } 

    public int getZ() { 
     return z; 
    } 

    public JF2(int z) { 
     this.z = z; 
    } 
} 

而且傳遞變量z當您創建JF2 - >JF2 jCreate = new JF2(z);或使用二傳手jCreate.setZ(z);

+0

感謝您的幫助,但我真的不知道如何使它....我嘗試通過內部的約束,但我得到錯誤>>>我可以問你我會使JF1(int z)>>>>或JF2 JF1的主框架......真的非常感謝您的幫助和你的時間 –

+1

你能否用異常的堆棧跟蹤來更新你的問題或你得到的錯誤? – Crazenezz

+0

我沒有錯誤,但我不能將變量從Jframe傳遞給另一個 –

相關問題