Java 记录导航

标签 java user-interface button record

再次需要您的宝贵帮助。我有以下代码,其中我正在读取每个文件的文件内容。每个文件都与个别员工相关。单击名为“显示员工记录”的按钮后,我想在 GUI 中显示所有员工文件数据。但我不想让它们全部出现在一个地方,我希望它像 MS Access 那样具有下一个和上一个导航功能?有任何想法吗。也许是一个代码?

/*********************Calculate Staff Balance***************************/   
public class calcBalanceListener implements ActionListener {
    public void actionPerformed(ActionEvent e) {

        FileReader fileReader = null;
        BufferedReader bufferedReader = null;
        try {
            File folder = new File("/register/");
           filePaths = new ArrayList<String>();
            if (folder.isDirectory()) {
                                for (File file : folder.listFiles()) {
                                    filePaths.add(file.getPath());
                                    }
            }

        }//end try

        catch (Exception f) {
            f.printStackTrace();
          } 

            callDetail();
            }}

/**************************************************** **************************/

public void callDetail() {


    File f = new File(filePaths.get(indexCounter));
    try{
        FileReader fileReader = new FileReader(f);
        BufferedReader bufferedReader = new BufferedReader(fileReader);
        String name = bufferedReader.readLine();
        int id = Integer.parseInt(bufferedReader.readLine());
        bufferedReader.readLine();
        String address = bufferedReader.readLine();
        int amount = Integer.parseInt(bufferedReader.readLine());
        bufferedReader.readLine();

        balanceFrame = new JFrame("Monthly Staff Balance");

            lID.setText("Staff ID: " + id);
            lname.setText("Staff ID: " + name);
            laddress.setText("Staff ID: " + address);
            lbalance.setText("Staff ID: " + amount);


            balanceFrame.add(lID);
            balanceFrame.add(lname);
            balanceFrame.add(laddress);
            balanceFrame.add(lbalance);

        bufferedReader.close();
        fileReader.close();

    }//end try
    catch(IOException z){

        z.printStackTrace();
    }   //end catch     


}

/**************************************************** ****************************************************** ***/

最佳答案

您可能会做的是,在循环中,您可能希望迭代并获取目录中所有文件的文件位置,并将它们的地址放入数组列表中,而不是读取文件。

然后,您可以使用后退/前进按钮遍历数组列表,每次根据当前在数组列表中的位置加载文件。

List<String> filePaths = new ArrayList<String>();
if (folder.isDirectory()) {
                    for (File file : folder.listFiles()) {
                        filePaths.add(file.getPath());
                        }
                    }
                }

您需要做的就是拥有一些全局计数器,然后在按下前进/后退按钮时使用它来导航数组列表。按下按钮后,加载适当的文件(由计数器确定)并显示其内容。

关于Java 记录导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8743187/

相关文章:

java - 我应该更改模式以验证什么?

ios - UIWebView 上的滚动按钮

Android 在运行时将按钮放在 surfaceview 上以捕获图像

java - 尽管预期和实际相似,但 junit 中的 ArrayList 相等不起作用

从 Struts2 操作标签调用操作时出现 java.lang.StackOverflowError

java - IntelliJ 无法从本地 Maven 存储库加载源

java - 使用 SwingWorker 从 map 中检索数据

.net - 您在 Virtual PC 上进行开发时遇到过问题吗?

asp.net - 使用两个控件开始和结束 Div - Asp.net mvc

安卓按钮 : Displaying black square and not img?