/** Update the list of files on remote host */ private void updateFileList() { ArrayList files = link.getFiles(); ((DefaultListModel) fileList.getModel()).clear(); ((DefaultListModel) fileList.getModel()).ensureCapacity(files.size()); for (int x = 0; x < files.size(); x++) { ((DefaultListModel) fileList.getModel()).addElement(files.get(x)); } // fileList.ensureIndexIsVisible(files.size()); }
public void mouseClicked(MouseEvent e) { if (e.getSource() == userList && e.getClickCount() == 2) { int index = userList.locationToIndex(e.getPoint()); if (index > -1) { String userInfo = (String) ((DefaultListModel) userList.getModel()).get(index); link.running = false; userInfo = userInfo.substring(userInfo.indexOf("@") - 1); link = new LeetClient( userInfo.substring(userInfo.indexOf("@") + 1, userInfo.indexOf(":")), Integer.parseInt(userInfo.substring(userInfo.indexOf(":") + 1)), address, directory); link.setPasv(portItem.getState()); link.command = "LIST"; link.start(); } } if (e.getSource() == fileList && e.getClickCount() == 2) { int index = fileList.locationToIndex(e.getPoint()); if (index > -1) { String fileName = (String) ((DefaultListModel) fileList.getModel()).get(index); if (fileName.indexOf(" ") > -1) { fileName = fileName.substring(0, fileName.indexOf(" ")); } link.command = "RETR " + fileName; System.out.println(link.command); } } if (e.getSource() == connectButton) { if (connectButton.getText().equals("Disconnect")) { active.running = false; connectButton.setText("Connect"); } else { active = new LeetActive( serverTextField.getText(), Integer.parseInt(portTextField.getText()), SERVER_PORT); active.setUserName(nameTextField.getText()); active.start(); connectButton.setText("Disconnect"); } } if (e.getSource() == searchInit) { search = new SearchUsers(); search.start(); } if (e.getSource() == searchList && e.getClickCount() == 2) { int index = searchList.locationToIndex(e.getPoint()); if (index > -1) { String fileInfo = (String) ((DefaultListModel) searchList.getModel()).get(index); link.running = false; String userInfo = fileInfo.substring(fileInfo.indexOf("@") + 1); userInfo = userInfo.substring(userInfo.indexOf("@") - 1); fileInfo = fileInfo.substring(0, fileInfo.indexOf("@")); link = new LeetClient( userInfo.substring(userInfo.indexOf("@") + 1, userInfo.indexOf(":")), Integer.parseInt(userInfo.substring(userInfo.indexOf(":") + 1)), address, directory); link.setPasv(portItem.getState()); link.command = "RETR " + fileInfo; link.start(); } } }