java声明StudentJFrame类写一个Student对象信息管理并对其中信息进行排序并弹出、
时间: 2024-01-15 10:02:30 浏览: 34
好的,我来为您解答。
首先,您需要定义一个Student类,如下所示:
```java
public class Student implements Comparable<Student> {
private String name;
private int age;
private int score;
public Student(String name, int age, int score) {
this.name = name;
this.age = age;
this.score = score;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public int getScore() {
return score;
}
@Override
public int compareTo(Student o) {
if (this.score == o.score) {
return this.age - o.age;
}
return o.score - this.score;
}
@Override
public String toString() {
return "姓名:" + name + " 年龄:" + age + " 分数:" + score;
}
}
```
接下来,您需要创建一个StudentJFrame类,在该类中定义一个Student对象数组,并实现对该数组中信息的排序和弹出。
```java
import javax.swing.*;
import java.awt.*;
import java.util.Arrays;
public class StudentJFrame extends JFrame {
private static final int WIDTH = 400;
private static final int HEIGHT = 300;
private Student[] students = {
new Student("张三", 20, 90),
new Student("李四", 22, 85),
new Student("王五", 21, 95),
new Student("赵六", 19, 80)
};
public StudentJFrame() {
setTitle("学生信息管理");
setSize(WIDTH, HEIGHT);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
JPanel panel = new JPanel(new GridLayout(students.length, 1));
for (Student student : students) {
panel.add(new JLabel(student.toString()));
}
Arrays.sort(students);
JOptionPane.showMessageDialog(null, panel, "学生信息排序", JOptionPane.INFORMATION_MESSAGE);
}
public static void main(String[] args) {
new StudentJFrame().setVisible(true);
}
}
```
在该类中,我们首先定义了一个包含四个Student对象的数组。在构造函数中,我们创建一个JPanel,将每个学生的信息以标签的形式添加到该面板上。然后,我们对学生对象数组进行排序,并使用JOptionPane弹出排序后的学生信息面板。
最后,我们在main方法中创建一个StudentJFrame对象并显示出来。
希望这个示例对您有所帮助!