我正在创建一个程序,其中会询问用户(例如)学生姓名,然后询问该学生有多少科目,然后询问科目。但我怎么知道那些科目属于那个学生呢?
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();
}
}
用户可以根据需要添加许多学生,并为该学生提供科目。 我也是这样做的?
答案 0 :(得分:1)
您可以将StudentId存储为int值。根据该值,您可以在之后提取结果。
..创建一个新字段,
private int studentId;
..一旦用户开始编辑,请更新此值。由于它是一个int,你可以在它上面调用studentId++
,它会不断更新,直到用户完成添加学生为止。
每个studentId都会附加到主题上,反之亦然。这取决于提供高优先级,学生或主题的内容。
在提取时,你可以简单地获得studentId以及与他相关的主题并展示它们或者什么。
答案 1 :(得分:1)
如何使用带有表格的嵌入式数据库学生?您可以随时检索每个学生的科目