Java Record Navigation - PullRequest
       19

Java Record Navigation

1 голос
/ 05 января 2012

Ваша ценная помощь снова нужна.У меня есть следующий код, в котором я читаю содержимое файла для каждого файла.каждый файл связан с отдельным персоналом.При нажатии кнопки «Показать штатную запись» я хочу показать все данные о сотрудниках в графическом интерфейсе.но вместо того, чтобы все они появлялись в одном, я хочу, чтобы навигация была следующей и предыдущей, как в 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     


}

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

1 Ответ

2 голосов
/ 05 января 2012

Что вы можете сделать, это то, что вместо чтения файлов в вашем цикле вы можете захотеть перебрать и получить расположение файлов всех файлов в вашем каталоге и поместить их адрес в список массивов.

Затем вы можете использовать кнопки «назад» / «вперед» для перемещения по списку массивов, каждый раз загружая файл в соответствии с тем, какое местоположение вы в данный момент находитесь в списке массивов.

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

Все, что вам нужноДля этого нужно иметь некоторый глобальный счетчик, который вы используете для навигации по списку массивов при нажатии кнопок вперед / назад.После нажатия кнопки загрузите соответствующий файл (определяется счетчиком) и отобразите его содержимое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...