Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何确定哪个变量包含用户输入_Java_Jlist - Fatal编程技术网

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

Java 如何确定哪个变量包含用户输入,java,jlist,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.

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

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();
}
}
封装测试;
导入java.net.MalformedURLException;
导入java.util.ArrayList;
导入java.util.List;
导入javax.swing.*;
导入java.awt.event.ActionListener;
导入java.awt.event.ActionEvent;
公共类test2{
私有JTextField textField;
私人名单;
私有DefaultListModel名称ListModel;
私有JList主题列表;
private DefaultListModel subjectListModel;
私有JTextField textField_1;
公共测试2(){
JFrame=新JFrame();
frame.getContentPane().setLayout(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
textField=新的JTextField();
textField.setBounds(51,45,86,20);
frame.getContentPane().add(textField);
textField.setColumns(10);
框架。设置尺寸(500500);
frame.setVisible(true);
JScrollPane scrollPane=新的JScrollPane();
滚动窗格.立根(51100136118);
frame.getContentPane().add(滚动窗格);
nameListModel=新的DefaultListModel();
名称列表=新的JList(名称列表模型);
scrollPane.setViewportView(名称列表);
subjectListModel=新的DefaultListModel();
subjectList=新的JList(subjectListModel);
JScrollPane scrollPane_1=新的JScrollPane();
滚动窗格_1.后退(228、101、136、118);
frame.getContentPane().add(滚动窗格_1);
滚动窗格_1.setViewportView(主题列表);
JButton btnNewButton=新JButton(“新按钮”);
addActionListener(新ActionListener(){
已执行的公共无效操作(操作事件arg0){
}
});
btnNewButton.setBounds(51,278,89,23);
frame.getContentPane().add(btnNewButton);
textField_1=新的JTextField();
textField_1.立根(135,11,86,20);
frame.getContentPane().add(textField_1);
textField_1.设置列(10);
JLabel lblProfName=新JLabel(“教授姓名:”);
lblProfName.setBounds(49,14,76,14);
frame.getContentPane().add(lblProfName);
addActionListener(新ActionListener(){
已执行的公共无效操作(操作事件arg0){
String data=textField.getText();
nameListModel.addElement(数据);
列表=新的ArrayList();
列表。添加(数据);
textField.setText(空);
int count=Integer.parseInt(JOptionPane.showInputDialog(null,“输入主题数:”,JOptionPane.YES\u NO\u CANCEL\u选项));
字符串[]数组=新字符串[计数];
for(int i=0;i
用户可以根据需要添加多个学生,并为该学生添加科目。
另外,我做得对吗?

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

…创建一个新字段

private int studentId;
…一旦用户开始编辑,更新此值。由于它是一个int,您可以调用它的
studentId++
,它将不断更新,直到用户完成添加student

每个学生ID都会与该主题相关,反之亦然。这取决于学生或学科的优先事项


在提取过程中,您可以简单地获取studentId和与他相关的主题,并将它们显示出来,或者做其他任何事情

如何将嵌入式数据库与表一起使用?你可以随时检索每个学生的科目