用java代码实现成绩录入界面,要求如下: (1)界面包含两个文本行、一个按钮、一个列表框组件。两个文本行分别输入学生学号和分数,点击录入按钮,学号及分数信息在列表框中显示。 (2)输入成绩范围为0-...
时间: 2024-03-06 08:51:42 浏览: 21
好的,下面是一个用Java实现的成绩录入界面的示例代码:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ScoreEntryGUI extends JFrame implements ActionListener {
private JTextField idField, scoreField;
private JButton submitButton;
private JList<String> scoreList;
public ScoreEntryGUI() {
setTitle("成绩录入");
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel(new GridLayout(4, 1));
JLabel idLabel = new JLabel("学生学号");
idField = new JTextField();
JLabel scoreLabel = new JLabel("学生分数");
scoreField = new JTextField();
submitButton = new JButton("录入");
submitButton.addActionListener(this);
String[] scores = {"暂无成绩"};
scoreList = new JList<>(scores);
panel.add(idLabel);
panel.add(idField);
panel.add(scoreLabel);
panel.add(scoreField);
panel.add(submitButton);
panel.add(scoreList);
add(panel);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == submitButton) {
String id = idField.getText();
String scoreStr = scoreField.getText();
int score = -1;
try {
score = Integer.parseInt(scoreStr);
} catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(this, "分数输入有误,请重新输入!");
return;
}
if (score < 0 || score > 100) {
JOptionPane.showMessageDialog(this, "分数输入有误,请重新输入!");
return;
}
DefaultListModel<String> model = new DefaultListModel<>();
for (int i = 0; i < scoreList.getModel().getSize(); i++) {
model.addElement(scoreList.getModel().getElementAt(i));
}
model.addElement(id + ":" + score);
scoreList.setModel(model);
}
}
public static void main(String[] args) {
new ScoreEntryGUI();
}
}
```
这个界面包含一个JTextField用于输入学号,一个JTextField用于输入分数,一个JButton用于录入学号和分数,一个JList用于显示已录入的学号和分数。当用户点击录入按钮时,程序会检查输入的分数是否在0到100之间,如果不是,则弹出一个提示框让用户重新输入。如果输入的分数合法,则将学号和分数拼接成一个字符串,并添加到JList中。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)