📄 sort2.java
字号:
package yu2;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
public class sort2 extends JFrame implements ActionListener{
private JLabel jb[]=new JLabel[3];
private JTextField tf[]=new JTextField[3];
private JTable jt;
private Vector vtitle,vall;
private DefaultTableModel dm;
private JButton jb1;
private JButton jb2;
public sort2(String s)
{
super(s);
this.setSize(550,400);
this.setDefaultCloseOperation(3);
JPanel jp=new JPanel();
// jp.setLayout(new BorderLayout());
jb[0]=new JLabel("姓名:");
jp.add(jb[0]);
tf[0]=new JTextField(10);
jp.add(tf[0]);
jb[1]=new JLabel("数学:");
jp.add(jb[1]);
tf[1]=new JTextField(10);
jp.add(tf[1]);
jb[2]=new JLabel("语文:");
jp.add(jb[2]);
tf[2]=new JTextField(10);
jp.add(tf[2]);
this.getContentPane().add(jp,"North");
vtitle=new Vector();
vtitle.add("姓名");
vtitle.add("数学");
vtitle.add("语文");
vtitle.add("总分");
vall=new Vector();
dm=new DefaultTableModel(vall,vtitle);
jt=new JTable(dm);
this.getContentPane().add(new JScrollPane(jt),"Center");
JPanel jp1=new JPanel();
jb1=new JButton("增加");
jb1.addActionListener(this);
jp1.add(jb1);
jb2=new JButton("排序");
jb2.addActionListener(this);
jp1.add(jb2);
this.getContentPane().add(jp1,"South");
this.setVisible(true);
}
public static void main(String[] args) {
new sort2("排序与表的应用");
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==jb1)
{
Vector vline = new Vector();
vline.add(tf[0].getText().trim());
vline.add(tf[1].getText().trim());
vline.add(tf[2].getText().trim());
int score;
try {
score = Integer.parseInt(tf[1].getText().trim())+Integer.parseInt(tf[2].getText().trim());
vline.add(""+score);
dm.addRow(vline);
} catch (NumberFormatException e1) {
tf[1].setText(null);
tf[2].setText(null);
JOptionPane.showMessageDialog(this,"你输入了非法字符");
// TODO 自动生成 catch 块
// e1.printStackTrace();
}
}
if(e.getSource()==jb2)
{
Vector []ve=new Vector[vall.size()];
for(int i=0;i<vall.size();i++)
{
ve[i]=(Vector)vall.get(i);
}
System.out.print(((Vector)(vall.get(0))).get(1));
for(int i=0;i<ve.length-1;i++)
{
for(int j=i+1;j<ve.length;j++)
{
int score1=Integer.parseInt((ve[i].get(3)).toString().trim());
int score2=Integer.parseInt((ve[j].get(3)).toString().trim());
if(score1>score2)
{
Vector ve1;
ve1=ve[i];
ve[i]=ve[j];
ve[j]=ve1;
}
}
}
vall=new Vector();
for(int i=0;i<ve.length;i++)
{
vall.add(ve[i]);
}
System.out.print(vall.size());
dm.setDataVector(vall, vtitle);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -