@Override public void actionPerformed(ActionEvent actionEvent) { if (favoriteList.getSelectedValue() != null) { Favorite favorite = favoriteList.getSelectedValue(); JPanel panel = new JPanel(new GridLayout(4, 1)); JTextField nameField = new JTextField(favorite.getName()); addNameListeners(nameField); nameField.setName("favorite.name"); panel.add(new JLabel(EDITFAVORITES_NAME)); panel.add(nameField); JTextField urlField = new JTextField(decodedURL(favorite), 20); urlField.setName("favorite.url"); panel.add(new JLabel(EDITFAVORITES_URL)); panel.add(urlField); int response = JOptionPane.showConfirmDialog( SwingUtilities.getRoot(favoriteList), panel, EDITFAVORITES_TITLE, JOptionPane.YES_NO_OPTION); if (response == JOptionPane.YES_OPTION) { favorite.setName(nameField.getText()); favorite.setUrl(encodedURL(urlField)); listModel.change(favoriteList.getSelectedIndex(), favorite); } } }