将二进制文件读入GUI(Java)

时间:2013-03-21 03:06:09

标签: java swing netbeans arraylist io

我正在编写一个编程任务,我将使用二进制I / O从二进制文件中读取并将其显示为如下所示的GUI:

gui http://oi46.tinypic.com/2dvtvgi.jpg

我在NetBeans中使用GUI构建器,我有三个类:RecordViewerPanel这是JPanel类,还有我所有用于读取二进制文件的代码SalesAgent,其中包含字段,构造函数,以及将在GUI中显示的项目的访问者。然后是框架类。我遇到的问题是尝试找到一种方法,在程序运行时在正确的文本字段中显示字段。这是我添加的代码......

ArrayList<SalesAgent> customer = new ArrayList<>();
int curIndex = 0;

public RecordViewerPanel() throws IOException, ClassNotFoundException {
    initComponents();

    try {
        ObjectInputStream salesForce = new ObjectInputStream(
                new BufferedInputStream(
                new FileInputStream("sales.bin")));
    } catch (IOException e) {
        System.out.println(e);
    }
    ObjectInputStream salesForce = new ObjectInputStream(
            new BufferedInputStream(
            new FileInputStream("sales.bin")));

    while (curIndex < 5) {
        customer.add(new SalesAgent(salesForce.readUTF(), salesForce.readUTF(),
                salesForce.readDouble(), (Date) salesForce.readObject()));
        curIndex++;
    }
}

public void refreshUI() {
}

我还在点击按钮时添加了以下事件处理程序。

private void previousEntry(java.awt.event.MouseEvent evt) {
    if (curIndex > 0) {
        curIndex--;
    } else if (curIndex == 0) {
        curIndex = 4;
    }
    customer.get(curIndex);
}

private void nextEntry(java.awt.event.MouseEvent evt) {
    if (curIndex < 4) {
        curIndex++;
    } else if (curIndex == 4) {
        curIndex = 0;
    }
    customer.get(curIndex);

我需要Panel在程序执行时填写第一个数组条目的值,我需要它在单击其中一个按钮时将组件重新填充到ArrayList上的下一个项目。 / p>

0 个答案:

没有答案