代码如下
package Manage;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import java.util.Vector;
public class Display extends JFrame implements ActionListener{
JLabel l1 = new JLabel("name");
JLabel l2 = new JLabel("age");
JTextArea ta = new JTextArea();
Vector v; //存放人员信息的变量
int index = 0;
JButton b1 = new JButton("Prior");
JButton b2 = new JButton("Next");
public Display()
{
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
p1.add(l1);
p1.add(l2);
p2.add(b1);
p2.add(b2);
this.getContentPane().add(p1,"North");
this.getContentPane().add(ta);
this.getContentPane().add(p2,"South");
this.setSize(400,150);
this.setLocation(200,200);
v = ReadPersons.getInfo(); //获取所有人员的信息
this.displayOne();//显示第一个人员的信息
b1.addActionListener(this);
b2.addActionListener(this);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public void displayOne() //显示当前的人员信息
{
Person p = (Person)v.get(index); //获取当前索引号对应的人员信息
l1.setText(p.getName());
l2.setText(p.getAge()+"");
ta.setText(p.getMemo());
this.validate();
}
public void actionPerformed(ActionEvent e)
{
String s = e.getActionCommand();
if(s.equals("next"))
{
b1.setEnabled(true);
index++;
if(index > v.size()-1) //解决显示到最后的问题
{
index = v.size()-1;
b2.setEnabled(false);
}
else
{
this.displayOne();
}
}
else
{
b2.setEnabled(true);
index--;
if(index < 0) //解决显示到最前面的问题
{
index = 0;
b1.setEnabled(false);
}
else
{
this.displayOne();
}
}
}
public static void main(String[] args)
{
new Display();
}
}