如何确定哪个变量包含用户输入

时间:2014-08-26 18:27:19

标签: java jlist

我正在创建一个程序,其中会询问用户(例如)学生姓名,然后询问该学生有多少科目,然后询问科目。但我怎么知道那些科目属于那个学生呢?

package test;

import java.net.MalformedURLException;
import java.util.ArrayList;
import java.util.List;
import javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;


public class test2 {
private JTextField textField;
private JList nameList;
private DefaultListModel nameListModel;
private JList subjectList;
private DefaultListModel subjectListModel;
private JTextField textField_1;

public test2() {

    JFrame frame = new JFrame();
    frame.getContentPane().setLayout(null);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    textField = new JTextField();
    textField.setBounds(51, 45, 86, 20);
    frame.getContentPane().add(textField);
    textField.setColumns(10);
    frame.setSize(500,500);
    frame.setVisible(true);


    JScrollPane scrollPane = new JScrollPane();
    scrollPane.setBounds(51, 100, 136, 118);
    frame.getContentPane().add(scrollPane);

    nameListModel = new DefaultListModel(); 

    nameList = new JList(nameListModel);
    scrollPane.setViewportView(nameList);

    subjectListModel = new DefaultListModel();
    subjectList = new JList(subjectListModel);
    JScrollPane scrollPane_1 = new JScrollPane();
    scrollPane_1.setBounds(228, 101, 136, 118);
    frame.getContentPane().add(scrollPane_1);
    scrollPane_1.setViewportView(subjectList);

    JButton btnNewButton = new JButton("New button");
    btnNewButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {



        }
    });
    btnNewButton.setBounds(51, 278, 89, 23);
    frame.getContentPane().add(btnNewButton);

    textField_1 = new JTextField();
    textField_1.setBounds(135, 11, 86, 20);
    frame.getContentPane().add(textField_1);
    textField_1.setColumns(10);

    JLabel lblProfName = new JLabel("Prof. name : ");
    lblProfName.setBounds(49, 14, 76, 14);
    frame.getContentPane().add(lblProfName);






    textField.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
            String data = textField.getText();
            nameListModel.addElement(data);
            List<String> list = new ArrayList<String>();
            list.add(data);

            textField.setText(null);

            int count = Integer.parseInt(JOptionPane.showInputDialog(null,"Enter how many Subjects : ",JOptionPane.YES_NO_CANCEL_OPTION)) ;


            String [] array = new String [count];
            for (int i = 0; i < count; i++){
                array[i] = JOptionPane.showInputDialog(null,"Enter Subject : ");
                subjectListModel.addElement(array[i]);

            }
        }
    });


}

public static void main(String[] args) throws MalformedURLException {

    new test2();
}
}

用户可以根据需要添加许多学生,并为该学生提供科目。 我也是这样做的?

2 个答案:

答案 0 :(得分:1)

您可以将StudentId存储为int值。根据该值,您可以在之后提取结果。

..创建一个新字段,

private int studentId;

..一旦用户开始编辑,请更新此值。由于它是一个int,你可以在它上面调用studentId++,它会不断更新,直到用户完成添加学生为止。

每个studentId都会附加到主题上,反之亦然。这取决于提供高优先级,学生或主题的内容。

在提取时,你可以简单地获得studentId以及与他相关的主题并展示它们或者什么。

答案 1 :(得分:1)

如何使用带有表格的嵌入式数据库学生?您可以随时检索每个学生的科目