我正在编写一个编程任务,我将使用二进制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>