2011-08-16 2 views
-2

문제 1 : 기본적으로 저는 8 명의 학생을위한 텍스트 파일 (name1, mark2)을 읽고 있습니다. 사용자의 사진에 대한 경로 인 String과 함께이 파일을 ArrayList에 저장합니다. ComboBox에 학생 이름을 입력하고 사용자가 이름을 선택하면 두 개의 관련 마크와 사진을 라벨과 패널에 각각 표시해야합니다. 문제는 사용자가 ComboBox에서 이름을 선택하면 정보를 검색하는 방법을 모릅니다. 나의 intial 생각은 선택된 항목을 얻고 그것을 사용했다. 그러나 거기에서의 어떤 생각이 아니라도 ...!텍스트 파일 프로그램 읽기/쓰기에 문제가 있습니까?

문제 2 : 텍스트 파일에 새로운 정보를 쓰려고 할 때 Nullpointer Excpetion을 얻습니다!

// 읽기 및 텍스트 파일

public class FileConnect { 

    ArrayList<Student> studs = new ArrayList<Student>(); 

    public FileConnect() { 

     String s; 
     String a; 

     try { 
      BufferedReader br = new BufferedReader(new FileReader("C:\\Users\\Student\\Desktop\\Marks.txt")); 
      while ((s = br.readLine()) != null) { 

       a = br.readLine(); 
       int i = Integer.parseInt(a); 
       a = br.readLine(); 
       int k = Integer.parseInt(a); 

       studs.add(new Student(s, "C:\\Users\\Student\\Desktop\\res\\" + s + ".png", i, k)); 
      } 
     } catch (FileNotFoundException fnf) { 
      System.out.println("FileNotFoundException: " + fnf); 
     } catch (IOException ex) { 
      System.out.println("IOException: " + ex); 
     } 
    } 

    public void addStud(String name, String compLit, String linux) { 
     try { 
      PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("C:\\Users\\Student\\Desktop\\Marks.txt")), true); 
      out.write(name); 
      out.write(compLit); 
      out.write(linux); 
     } catch (IOException ex) { 
      System.out.println("IOException: " + ex); 
     } 
    } 
} 

//class for student accessor methods 

public class Student { 

    private String name; 
    private int compLit; 
    private int linux; 
    private String photo; 

    public Student(String name, String photo, int compLit, int linux) { 
     this.name = name; 
     this.photo = photo; 
     this.compLit = compLit; 
     this.linux = linux; 
    } 

    public String getName() { 
     return this.name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 

    public int getCompLit() { 
     return this.compLit; 
    } 

    public void setCompLit(int compLit) { 
     this.compLit = compLit; 
    } 

    public int getLinux() { 
     return this.linux; 
    } 

    public void setLinux(int linux) { 
     this.linux = linux; 
    } 

    public String getPhoto() { 
     return this.photo; 
    } 

    public void setPhoto(String photo) { 
     this.photo = photo; 
    } 

} 

//main GUI where it all happens 

public class MainGUI extends javax.swing.JFrame { 

    String name; 
    int compLit; 
    int linux; 
    String photo; 

    private FileConnect file; 
    private Student stu; 

    public MainGUI() { 


     initComponents(); 
    } 
private void menuItemExitActionPerformed(java.awt.event.ActionEvent evt) { 
     System.exit(0); 
    } 

    private void menuItemAboutActionPerformed(java.awt.event.ActionEvent evt) { 
     Date now = new Date(); 
     JOptionPane.showMessageDialog(this, "Author: Jean van der Walt \n " + now, "About" , JOptionPane.INFORMATION_MESSAGE); 
    } 

    **private void cbStudActionPerformed(java.awt.event.ActionEvent evt) { 
     //user selects item in combo box 
     //get all the info for the selected item 
     //display them 
     //I tried to do something with 
     //cbStud.getSelected..... but don't think that'll work 
    }** 

    **private void btnStudAddActionPerformed(java.awt.event.ActionEvent evt) { 
     file.addStud(tfStudName.getText(), tfStudCompLit.getText(), tfStudLinux.getText()); 
     //get a Nullpointer exception HERE!!! 
    }** 


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

----->이 같은 외모에서 읽고 있어요 텍스트 파일을 작성하기위한 클래스 :

앤서니 브 래덕 \ n 97 \ n ...... (7 명 더) --------------------------------- ->

// 전체 GUI 코드

import java.util.Date; 
import javax.swing.JOptionPane; 

public class MainGUI extends javax.swing.JFrame { 

    String name; 
    int compLit; 
    int linux; 
    String photo; 

    private FileConnect file = null; 
    private Student stu = null; 

    public MainGUI() { 


     initComponents(); 
    } 


    @SuppressWarnings("unchecked") 
    // <editor-fold defaultstate="collapsed" desc="Generated Code">       
    private void initComponents() { 

     lblHeading = new javax.swing.JLabel(); 
     pnlSelectStud = new javax.swing.JPanel(); 
     cbStud = new javax.swing.JComboBox(); 
     pnlMarks = new javax.swing.JPanel(); 
     lblCompLitMark = new javax.swing.JLabel(); 
     lblLinuxMark = new javax.swing.JLabel(); 
     lblCompLitDisplay = new javax.swing.JLabel(); 
     lblLinuxDisplay = new javax.swing.JLabel(); 
     pnlPhoto = new javax.swing.JPanel(); 
     lblPic = new javax.swing.JLabel(); 
     pnlAddStud = new javax.swing.JPanel(); 
     lblStudName = new javax.swing.JLabel(); 
     lblStudCompLit = new javax.swing.JLabel(); 
     lblStudLinux = new javax.swing.JLabel(); 
     tfStudName = new javax.swing.JTextField(); 
     tfStudCompLit = new javax.swing.JTextField(); 
     tfStudLinux = new javax.swing.JTextField(); 
     btnStudAdd = new javax.swing.JButton(); 
     menuBar = new javax.swing.JMenuBar(); 
     menuFile = new javax.swing.JMenu(); 
     menuItemExit = new javax.swing.JMenuItem(); 
     menuEdit = new javax.swing.JMenu(); 
     menuItemAbout = new javax.swing.JMenuItem(); 

     setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); 

     lblHeading.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N 
     lblHeading.setText("Individual Student Marks"); 

     pnlSelectStud.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Select Student", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 14))); // NOI18N 

     cbStud.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Anthony Braddock", "Charl Fourie", "Darren Tiplady", "Jacobus Langenhoven", "Jaun Pierre Reyneke", "Johan van der Merwe", "Johannes Van Eck", "Lodewyk Duminy" })); 
     cbStud.addActionListener(new java.awt.event.ActionListener() { 
      public void actionPerformed(java.awt.event.ActionEvent evt) { 
       cbStudActionPerformed(evt); 
      } 
     }); 

     javax.swing.GroupLayout pnlSelectStudLayout = new javax.swing.GroupLayout(pnlSelectStud); 
     pnlSelectStud.setLayout(pnlSelectStudLayout); 
     pnlSelectStudLayout.setHorizontalGroup(
      pnlSelectStudLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(pnlSelectStudLayout.createSequentialGroup() 
       .addGap(19, 19, 19) 
       .addComponent(cbStud, javax.swing.GroupLayout.PREFERRED_SIZE, 199, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addContainerGap(20, Short.MAX_VALUE)) 
     ); 
     pnlSelectStudLayout.setVerticalGroup(
      pnlSelectStudLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(pnlSelectStudLayout.createSequentialGroup() 
       .addGap(61, 61, 61) 
       .addComponent(cbStud, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addContainerGap(66, Short.MAX_VALUE)) 
     ); 

     pnlMarks.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Marks", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 14))); // NOI18N 

     lblCompLitMark.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N 
     lblCompLitMark.setText("Computer Literacy"); 

     lblLinuxMark.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N 
     lblLinuxMark.setText("Using Linux"); 

     lblCompLitDisplay.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N 
     lblCompLitDisplay.setText("UNKNOWN"); 

     lblLinuxDisplay.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N 
     lblLinuxDisplay.setText("UNKNOWN"); 

     javax.swing.GroupLayout pnlMarksLayout = new javax.swing.GroupLayout(pnlMarks); 
     pnlMarks.setLayout(pnlMarksLayout); 
     pnlMarksLayout.setHorizontalGroup(
      pnlMarksLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(pnlMarksLayout.createSequentialGroup() 
       .addContainerGap() 
       .addGroup(pnlMarksLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
        .addComponent(lblCompLitMark) 
        .addComponent(lblLinuxMark)) 
       .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 164, Short.MAX_VALUE) 
       .addGroup(pnlMarksLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
        .addComponent(lblCompLitDisplay) 
        .addComponent(lblLinuxDisplay)) 
       .addGap(18, 18, 18)) 
     ); 
     pnlMarksLayout.setVerticalGroup(
      pnlMarksLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(pnlMarksLayout.createSequentialGroup() 
       .addGap(24, 24, 24) 
       .addGroup(pnlMarksLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 
        .addComponent(lblCompLitMark) 
        .addComponent(lblCompLitDisplay)) 
       .addGap(37, 37, 37) 
       .addGroup(pnlMarksLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 
        .addComponent(lblLinuxMark) 
        .addComponent(lblLinuxDisplay)) 
       .addContainerGap(64, Short.MAX_VALUE)) 
     ); 

     pnlPhoto.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Photo", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 14))); // NOI18N 

     javax.swing.GroupLayout pnlPhotoLayout = new javax.swing.GroupLayout(pnlPhoto); 
     pnlPhoto.setLayout(pnlPhotoLayout); 
     pnlPhotoLayout.setHorizontalGroup(
      pnlPhotoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(pnlPhotoLayout.createSequentialGroup() 
       .addGap(55, 55, 55) 
       .addComponent(lblPic, javax.swing.GroupLayout.PREFERRED_SIZE, 129, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addContainerGap(54, Short.MAX_VALUE)) 
     ); 
     pnlPhotoLayout.setVerticalGroup(
      pnlPhotoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(pnlPhotoLayout.createSequentialGroup() 
       .addGap(33, 33, 33) 
       .addComponent(lblPic, javax.swing.GroupLayout.PREFERRED_SIZE, 117, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addContainerGap(33, Short.MAX_VALUE)) 
     ); 

     pnlAddStud.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Add your name and marks", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 14))); // NOI18N 

     lblStudName.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N 
     lblStudName.setText("Name"); 

     lblStudCompLit.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N 
     lblStudCompLit.setText("Computer Literacy"); 

     lblStudLinux.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N 
     lblStudLinux.setText("Using Linux"); 

     tfStudName.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N 

     tfStudCompLit.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N 

     tfStudLinux.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N 

     btnStudAdd.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N 
     btnStudAdd.setText("Add"); 
     btnStudAdd.addActionListener(new java.awt.event.ActionListener() { 
      public void actionPerformed(java.awt.event.ActionEvent evt) { 
       btnStudAddActionPerformed(evt); 
      } 
     }); 

     javax.swing.GroupLayout pnlAddStudLayout = new javax.swing.GroupLayout(pnlAddStud); 
     pnlAddStud.setLayout(pnlAddStudLayout); 
     pnlAddStudLayout.setHorizontalGroup(
      pnlAddStudLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(pnlAddStudLayout.createSequentialGroup() 
       .addContainerGap() 
       .addGroup(pnlAddStudLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
        .addComponent(lblStudName) 
        .addComponent(lblStudCompLit) 
        .addComponent(lblStudLinux)) 
       .addGap(14, 14, 14) 
       .addGroup(pnlAddStudLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) 
        .addGroup(javax.swing.GroupLayout.Alignment.LEADING, pnlAddStudLayout.createSequentialGroup() 
         .addGap(14, 14, 14) 
         .addComponent(tfStudName, javax.swing.GroupLayout.PREFERRED_SIZE, 222, javax.swing.GroupLayout.PREFERRED_SIZE)) 
        .addGroup(pnlAddStudLayout.createSequentialGroup() 
         .addGap(166, 166, 166) 
         .addGroup(pnlAddStudLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) 
          .addComponent(tfStudLinux, javax.swing.GroupLayout.Alignment.TRAILING) 
          .addComponent(tfStudCompLit, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 70, Short.MAX_VALUE))))) 
      .addComponent(btnStudAdd, javax.swing.GroupLayout.PREFERRED_SIZE, 398, javax.swing.GroupLayout.PREFERRED_SIZE) 
     ); 
     pnlAddStudLayout.setVerticalGroup(
      pnlAddStudLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(pnlAddStudLayout.createSequentialGroup() 
       .addContainerGap() 
       .addGroup(pnlAddStudLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 
        .addComponent(lblStudName) 
        .addComponent(tfStudName, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)) 
       .addGap(18, 18, 18) 
       .addGroup(pnlAddStudLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 
        .addComponent(lblStudCompLit) 
        .addComponent(tfStudCompLit, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)) 
       .addGap(9, 9, 9) 
       .addGroup(pnlAddStudLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 
        .addComponent(lblStudLinux) 
        .addComponent(tfStudLinux, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)) 
       .addGap(9, 9, 9) 
       .addComponent(btnStudAdd, javax.swing.GroupLayout.DEFAULT_SIZE, 39, Short.MAX_VALUE)) 
     ); 

     menuFile.setText("File"); 

     menuItemExit.setText("Exit"); 
     menuItemExit.addActionListener(new java.awt.event.ActionListener() { 
      public void actionPerformed(java.awt.event.ActionEvent evt) { 
       menuItemExitActionPerformed(evt); 
      } 
     }); 
     menuFile.add(menuItemExit); 

     menuBar.add(menuFile); 

     menuEdit.setText("Edit"); 

     menuItemAbout.setText("About"); 
     menuItemAbout.addActionListener(new java.awt.event.ActionListener() { 
      public void actionPerformed(java.awt.event.ActionEvent evt) { 
       menuItemAboutActionPerformed(evt); 
      } 
     }); 
     menuEdit.add(menuItemAbout); 

     menuBar.add(menuEdit); 

     setJMenuBar(menuBar); 

     javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); 
     getContentPane().setLayout(layout); 
     layout.setHorizontalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(layout.createSequentialGroup() 
       .addGap(24, 24, 24) 
       .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
        .addComponent(pnlPhoto, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 
        .addComponent(pnlSelectStud, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 
       .addGap(18, 18, 18) 
       .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
        .addComponent(pnlMarks, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 
        .addComponent(pnlAddStud, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 
       .addGap(26, 26, 26)) 
      .addGroup(layout.createSequentialGroup() 
       .addGap(216, 216, 216) 
       .addComponent(lblHeading) 
       .addContainerGap(250, Short.MAX_VALUE)) 
     ); 
     layout.setVerticalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(layout.createSequentialGroup() 
       .addGap(30, 30, 30) 
       .addComponent(lblHeading, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addGap(34, 34, 34) 
       .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) 
        .addComponent(pnlMarks, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 
        .addComponent(pnlSelectStud, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 
       .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 9, Short.MAX_VALUE) 
       .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) 
        .addComponent(pnlAddStud, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 
        .addComponent(pnlPhoto, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 
       .addGap(19, 19, 19)) 
     ); 

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

    private void menuItemExitActionPerformed(java.awt.event.ActionEvent evt) { 
     System.exit(0); 
    } 

    private void menuItemAboutActionPerformed(java.awt.event.ActionEvent evt) { 
     Date now = new Date(); 
     JOptionPane.showMessageDialog(this, "Author: Jean van der Walt \n " + now, "About" , JOptionPane.INFORMATION_MESSAGE); 
    } 

    private void cbStudActionPerformed(java.awt.event.ActionEvent evt) { 

     //user selects item in combo box 
     //get all the info for the selected item 
     //display them 
    } 

    private void btnStudAddActionPerformed(java.awt.event.ActionEvent evt) { 
     file.addStud(tfStudName.getText(), tfStudCompLit.getText(), tfStudLinux.getText()); 

    } 


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

    // Variables declaration - do not modify//GEN-BEGIN:variables 
    private javax.swing.JButton btnStudAdd; 
    private javax.swing.JComboBox cbStud; 
    private javax.swing.JLabel lblCompLitDisplay; 
    private javax.swing.JLabel lblCompLitMark; 
    private javax.swing.JLabel lblHeading; 
    private javax.swing.JLabel lblLinuxDisplay; 
    private javax.swing.JLabel lblLinuxMark; 
    private javax.swing.JLabel lblPic; 
    private javax.swing.JLabel lblStudCompLit; 
    private javax.swing.JLabel lblStudLinux; 
    private javax.swing.JLabel lblStudName; 
    private javax.swing.JMenuBar menuBar; 
    private javax.swing.JMenu menuEdit; 
    private javax.swing.JMenu menuFile; 
    private javax.swing.JMenuItem menuItemAbout; 
    private javax.swing.JMenuItem menuItemExit; 
    private javax.swing.JPanel pnlAddStud; 
    private javax.swing.JPanel pnlMarks; 
    private javax.swing.JPanel pnlPhoto; 
    private javax.swing.JPanel pnlSelectStud; 
    private javax.swing.JTextField tfStudCompLit; 
    private javax.swing.JTextField tfStudLinux; 
    private javax.swing.JTextField tfStudName; 
    // End of variables declaration//GEN-END:variables 

} 
+0

실제로 도움이 될만한 예외를 제공해주십시오. 그렇지 않습니까? 어떤 라인 예를 들어 .... – Nanne

+0

java.lang.NullPointerException at question3.MainGUI.btnStudAddActionPerformed (MainGUI.java:313) – jakkamakakasdk

답변

0

문제 1. GUI 코드 중 일부가 누락 된 것 같아 보이지만 일반적으로 각 "학생 이름"을 해당 학생 인스턴스에 매핑하는 Map<String, Student>을 저장하고 콤보 상자 (학생 이름을 보여주고 있고 이름이 고유하다고 가정 할 때)을 선택하면 학생을 찾을 수 있습니다.

문제 2. file 초기화하지 않은 것 같습니다.

+0

파일을 초기화하고 있는데 ... 예외 "AWT-EventQueue-0"java.lang .NullPointerException Problem1 : 그래, 내가 무슨 말을하는지, 그것은 더 잘 작동합니다. 하지만, 어떤 이유로 ArrayList를 사용해야하고 어떻게 든 정보를 얻을 수 있습니다. 누락 된 GUI 코드는 NetBeans의 모든 드래그 앤 드롭 항목이었습니다 ... – jakkamakakasdk

+0

@JavaJean - '파일'을 초기화해야한다고 말했을 때, null이 아닌 값으로 설정하는 것이 좋습니다 ... – jtahlborn

+0

@JaavaJean - t (?) Map을 사용한다면 List를 검색하여 일치하는 이름으로 Student를 검색해야합니다. – jtahlborn

관련 문제