JAVA第九次作业(2)
来源:互联网 发布:hl线切割软件下载 编辑:程序博客网 时间:2024/06/06 18:59
2 编写一个应用程序,用户分别从两个文本框输入学生的姓名和分数,程序按成绩排序将这些学生的姓名和分数显示在一个文本区中。
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Iterator;
import java.util.TreeSet;
import javax.swing.*;
public class TestShow {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
MyJFrame myJFrame=new MyJFrame("文本框显示");
myJFrame.Init();
}
}
class MyJFrame extends JFrame {
String name;
double score;
JPanel jPanel1,jPanel2,jPanel3,jPanel4;
JTextField nameText,scoreText;
JLabel nameJLabel,scoreJLabel;
JButton addButton;
JTextArea showArea;
Box box1,box2;
private TreeSet ts=new TreeSet();
public MyJFrame(String title){
super(title);
}
public void Init(){
this.setBounds(100,100,400,400);
GridLayout layout1 = new GridLayout(2,1);
jPanel1=new JPanel();
jPanel1.setLayout(layout1);
nameText=new JTextField("",2);
scoreText=new JTextField("",2);
nameJLabel=new JLabel("姓名:");
scoreJLabel=new JLabel("成绩:");
addButton=new JButton("添加");
jPanel2=new JPanel();
GridLayout layout2 = new GridLayout(1,2);
jPanel2.setLayout(layout2);
jPanel3=new JPanel();
GridLayout layout3 = new GridLayout(2,1);
jPanel3.setLayout(layout3);
box1=Box.createHorizontalBox();
box1.add(Box.createHorizontalStrut(1));
box1.add(nameJLabel);
box1.add(nameText);
box2=Box.createHorizontalBox();
box2.add(Box.createHorizontalStrut(2));
box2.add(scoreJLabel);
box2.add(scoreText);
box1.add(addButton);
jPanel3.add(box1);
jPanel3.add(box2);
jPanel2.add(jPanel3);
jPanel4=new JPanel(new BorderLayout());
jPanel4.add(addButton,BorderLayout.CENTER);
jPanel2.add(jPanel4);
jPanel1.add(jPanel2);
showArea=new JTextArea();
JScrollPane jp1=new JScrollPane(showArea);
jPanel1.add(showArea);
addButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
name=nameText.getText().trim();
score=Double.parseDouble(scoreText.getText().trim());
//System.out.println(name+":"+score);
showArea.setText("");
ts.add(new Student(name, score));
Iterator it=ts.iterator();
while (it.hasNext()) {
String string=it.next().toString()+'\n';
showArea.append(string);
}
}
});
this.add(jPanel1);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
this.setVisible(true);
}
}
class Student implements Comparable{
private String name;
private double score;
public String getName() {
return name;
}
public double getscore() {
return score;
}
public String toString(){
return "姓名:"+name+",成绩:"+score+"。";
}
public Student(String name,double score){
this.name=name;
this.score=score;
}
public int compareTo(Object arg0) {
// TODO Auto-generated method stub
Student s=(Student) arg0;
if(this.score-s.score>0)
return 1;
if(this.score-s.score==0)
return this.name.compareTo(s.name);
return -1;
}
}
- JAVA第九次作业(2)
- 第九次java作业
- JAVA第九次作业(1)
- 第九次作业,猜数(线程)
- 第九次作业,过山洞(线程)
- 第九次上机作业
- 第九次上机作业
- 第九次上机作业
- 第九次作业--forEach
- 第九次作业
- HTML5 第九次 作业
- 第九次作业
- 第九次作业
- JAVA第5次作业(2)
- JAVA第八次作业(2)
- 补、C++第九次作业
- Python自学--第九次作业
- SDUST 第八次实验, 第九次作业
- 小程序提交form表单
- 扫雷游戏问题
- Glide使用过程中遇到得那些坑
- 第14周 项目2
- Java中的线程池(2)----FixedThreadPool
- JAVA第九次作业(2)
- java.lang.String cannot be cast to java.lang.Integer
- 织梦dede自定义模型的部分字段无法读取
- 关于windows版本电脑版微信更新后无法显示好友头像以及接收图片和表情的解决方案
- intelliJ IDEA 2017 破解方法
- java自动拆装箱不可避免遇到的一些问题
- C# 用代码添加textBox组件
- 160个破解练习之CrackMe 008
- Java基础之多态的详细解释