2014-06-09 2 views
0

Netbeans를 사용하여 이름, 성, ID 번호, 성별 및 교육 수준을 묻는 jframe을 만듭니다. 나는 OOP와 특별히 자바에 익숙하지 않으므로 제발 저를 참아주고 가난한 단어를 변명하십시오. 개체 변수에 값 전달

i는 제 i가 JFrame의 생성이어서 공용 클래스

package registros; 
    public class estudiantes { 
    String nombre; 
    String apellido; 
    String sexo; 
    String ci; 
    String nived; 
    } 

생성 아이디어 나 버튼 "Insertar"(jButton3ActionPerformed에 jbutton3을()) 공격이 다른 값을 획득해야한다는 것이다 jtextareas, radiobuttons 및 checkboxes를 사용하여 다른 객체 변수의 값을 설정하고 마지막으로 객체를 벡터에 배치합니다. 내가 뭘 도움이 필요하면 해당 버튼을, 나는 (???)

package registros; 

import java.util.*; 

public class NewJFrame extends javax.swing.JFrame { 
estudiantes es; 
Vector v = new Vector (5,1); 
String sexoValue; 

public NewJFrame() { 
    this.es = new estudiantes(); 
    initComponents(); 
private void initComponents() { 

    buttonGroup1 = new javax.swing.ButtonGroup(); 
    jLabel1 = new javax.swing.JLabel(); 
    jLabel2 = new javax.swing.JLabel(); 
    jLabel3 = new javax.swing.JLabel(); 
    jLabel5 = new javax.swing.JLabel(); 
    jButton1 = new javax.swing.JButton(); 
    jButton2 = new javax.swing.JButton(); 
    jButton3 = new javax.swing.JButton(); 
    jButton4 = new javax.swing.JButton(); 
    jButton5 = new javax.swing.JButton(); 
    jPanel1 = new javax.swing.JPanel(); 
    jRadioButton1 = new javax.swing.JRadioButton(); 
    jRadioButton2 = new javax.swing.JRadioButton(); 
    jTextField1 = new javax.swing.JTextField(); 
    jTextField2 = new javax.swing.JTextField(); 
    jTextField3 = new javax.swing.JTextField(); 
    jLabel4 = new javax.swing.JLabel(); 
    jCheckBox1 = new javax.swing.JCheckBox(); 
    jCheckBox2 = new javax.swing.JCheckBox(); 
    jCheckBox3 = new javax.swing.JCheckBox(); 

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); 
    setTitle("Registro Estudiantes"); 

    jLabel1.setText("Nombre"); 

    jLabel2.setText("Apellido"); 

    jLabel3.setText("C.I."); 

    jLabel5.setText("Nivel de Instruccion"); 

    jButton1.setText("Actualizar"); 

    jButton2.setText("Buscar"); 

    jButton3.setText("Insertar"); 
    jButton3.addActionListener(new java.awt.event.ActionListener() { 
     public void actionPerformed(java.awt.event.ActionEvent evt) { 
      jButton3ActionPerformed(evt); 
     } 
    }); 

    jButton4.setText("Eliminar"); 

    jButton5.setText("Salir"); 
    jButton5.addActionListener(new java.awt.event.ActionListener() { 
     public void actionPerformed(java.awt.event.ActionEvent evt) { 
      jButton5ActionPerformed(evt); 
     } 
    }); 

    buttonGroup1.add(jRadioButton1); 
    jRadioButton1.setText("Masculino"); 

    buttonGroup1.add(jRadioButton2); 
    jRadioButton2.setText("Femenino"); 
jRadioButton1.getAccessibleContext().setAccessibleName("btnMasc"); 
    jRadioButton2.getAccessibleContext().setAccessibleName("btnFem"); 

    jTextField1.setName(""); // NOI18N 

    jLabel4.setText("Sexo"); 

    jCheckBox1.setText("Primaria"); 

    jCheckBox2.setText("Secundaria"); 

    jCheckBox3.setText("Universidad"); 
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {           
    System.exit(0);  
}           

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt){           
     String nombreValue = jTextField1.getText(); 
     String apellidoValue = jTextField2.getText(); 
     String ciValue = jTextField3.getText(); 
     if (jRadioButton1.isSelected()){ 
      sexoValue ="Masculino"; 
     } 
else 
      sexoValue = "Femenino"; 

public static void main(String args[]) { 

    try { 
     for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { 
      if ("Nimbus".equals(info.getName())) { 
       javax.swing.UIManager.setLookAndFeel(info.getClassName()); 
       break; 
      } 
     } 
    } catch (ClassNotFoundException ex) { 
     java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
    } catch (InstantiationException ex) { 
     java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
    } catch (IllegalAccessException ex) { 
     java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
    } catch (javax.swing.UnsupportedLookAndFeelException ex) { 
     java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
    } 
    //</editor-fold> 

    /* Create and display the form */ 
    java.awt.EventQueue.invokeLater(new Runnable() { 
     public void run() { 
      new NewJFrame().setVisible(true); 
     } 
    }); 
} 

나는 그리드의 코드를 생략했다 "객체를 입력"하는 방법을 모른다

답변

0

당신은 무엇이 필요 estudiantes 클래스에 getter and setter method을 만들면 jButton3ActionPerformed 안에 인스턴스화 할 때 해당 클래스 필드의 값을 설정할 수 있습니다.

예 :

이 안쪽 getter 및 setter

public class estudiantes { 
    String nombre; 
    String apellido; 
    String sexo; 
    String ci; 
    String nived; 

    //set method 
    public void setnombre(String nombre) 
    { 
     this.nombre = nombre; 
    } 

    //get method 
    public String setnombre() 
    { 
     return this.nombre; 
    } 

    //do everything 
    } 

를 만들 jButton3ActionPerformed 당신은 모든 것에 다음 설정 값은 당신이 액션 청취자의 클래스

//above is your code 
estudiantes es = new estudiantes(); 
es.setnombre(nombreValue); 
1

를 인스턴스화 할 수 있습니다 후 JButton의 경우 getter 및 setter를 사용하여 검색하고 저장하십시오. 필요에 따라서 Swing 컴퍼넌트의 정보를 가져옵니다. 예를 들어, JTextFieldtextFieldName 인 경우 String name = textFieldName.getText();이라고 말하면 텍스트를 가져 오거나 textFieldName.setText("This is my custom string.");이라고 말하면 텍스트 필드 안에 텍스트를 설정할 수 있습니다.

당신은 API에서 스윙 구성 요소에 사용할 수있는 방법을 확인하실 수 있습니다 : 등 JComboBox, JTextField, 또한

을, 나는 당신이 당신의 코드를 편집 때문입니다 가정,하지만 당신은 닫는 대괄호를 놓치고있어 귀하의 jButton3ActionPerformed 방법에 대한

마지막으로 정보를 모델 클래스 estudiantes에 다시 저장하려면 getters와 setter를 비슷하게 사용해야합니다. 예를 들어 : 게터와 세터와

public class Estudiantes { 
    private String nombre; 
    private String apellido; 
    private String sexo; 
    private String ci; 
    private String nived; 
    public String getNombre() { 
     return nombre; 
    } 
    public void setNombre(String nombre) { 
     this.nombre = nombre; 
    } 
    public String getApellido() { 
     return apellido; 
    } 
    public void setApellido(String apellido) { 
     this.apellido = apellido; 
    } 
    public String getSexo() { 
     return sexo; 
    } 
    public void setSexo(String sexo) { 
     this.sexo = sexo; 
    } 
    public String getCi() { 
     return ci; 
    } 
    public void setCi(String ci) { 
     this.ci = ci; 
    } 
    public String getNived() { 
     return nived; 
    } 
    public void setNived(String nived) { 
     this.nived = nived; 
    } 
} 

쉽게 설정하고 스윙 구성 요소에 저장된 값으로 문자열을 검색 할 수 있습니다. 예 :

Estudiantes information = new Estudiantes(); 
information.setNombre("12345"); 
System.out.println(information.getNombre()); 

Output: 12345 

Java naming conventions도 알아 두어야합니다. 클래스 이름 규칙에 따라 estudiantes을 UpperCamelCase로 수정했습니다.