TonyGJY 2018-11-08 04:01 采纳率: 33.3%
浏览 339

关于Java图形化界面里读取txt信息问题

代码如下

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();
    }

}

txt 文件内容如下

图片说明

程序实现结果如下

图片说明
图片说明

  • 写回答

2条回答 默认 最新

  • dabocaiqq 2018-11-08 04:54
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多