src/share/classes/com/sun/java/swing/plaf/gtk/GTKFileChooserUI.java

Print this page

        

*** 80,97 **** private String renameFileDialogText = null; private String renameFileErrorTitle = null; private String renameFileErrorText = null; ! private JComboBox filterComboBox; private FilterComboBoxModel filterComboBoxModel; // From Motif private JPanel rightPanel; ! private JList directoryList; ! private JList fileList; private JLabel pathField; private JTextField fileNameTextField; private static final Dimension hstrut3 = new Dimension(3, 1); --- 80,97 ---- private String renameFileDialogText = null; private String renameFileErrorTitle = null; private String renameFileErrorText = null; ! private JComboBox<FileFilter> filterComboBox; private FilterComboBoxModel filterComboBoxModel; // From Motif private JPanel rightPanel; ! private JList<File> directoryList; ! private JList<File> fileList; private JLabel pathField; private JTextField fileNameTextField; private static final Dimension hstrut3 = new Dimension(3, 1);
*** 114,124 **** private String filterLabelText = null; private int pathLabelMnemonic = 0; private int filterLabelMnemonic = 0; ! private JComboBox directoryComboBox; private DirectoryComboBoxModel directoryComboBoxModel; private Action directoryComboBoxAction = new DirectoryComboBoxAction(); private JPanel bottomButtonPanel; private GTKDirectoryModel model = null; private Action newFolderAction; --- 114,124 ---- private String filterLabelText = null; private int pathLabelMnemonic = 0; private int filterLabelMnemonic = 0; ! private JComboBox<File> directoryComboBox; private DirectoryComboBoxModel directoryComboBoxModel; private Action directoryComboBoxAction = new DirectoryComboBoxAction(); private JPanel bottomButtonPanel; private GTKDirectoryModel model = null; private Action newFolderAction;
*** 151,161 **** if (!fc.isMultiSelectionEnabled()) { return typedInName; } int mode = fc.getFileSelectionMode(); ! JList list = mode == JFileChooser.DIRECTORIES_ONLY ? directoryList : fileList; Object[] files = list.getSelectedValues(); int len = files.length; Vector<String> result = new Vector<String>(len + 1); --- 151,161 ---- if (!fc.isMultiSelectionEnabled()) { return typedInName; } int mode = fc.getFileSelectionMode(); ! JList<File> list = mode == JFileChooser.DIRECTORIES_ONLY ? directoryList : fileList; Object[] files = list.getSelectedValues(); int len = files.length; Vector<String> result = new Vector<String>(len + 1);
*** 367,378 **** public ListSelectionListener createListSelectionListener(JFileChooser fc) { return new SelectionListener(); } class DoubleClickListener extends MouseAdapter { ! JList list; ! public DoubleClickListener(JList list) { this.list = list; } public void mouseClicked(MouseEvent e) { if (SwingUtilities.isLeftMouseButton(e) && e.getClickCount() == 2) { --- 367,378 ---- public ListSelectionListener createListSelectionListener(JFileChooser fc) { return new SelectionListener(); } class DoubleClickListener extends MouseAdapter { ! JList<?> list; ! public DoubleClickListener(JList<?> list) { this.list = list; } public void mouseClicked(MouseEvent e) { if (SwingUtilities.isLeftMouseButton(e) && e.getClickCount() == 2) {
*** 411,431 **** } } } } ! protected MouseListener createDoubleClickListener(JFileChooser fc, JList list) { return new DoubleClickListener(list); } protected class SelectionListener implements ListSelectionListener { public void valueChanged(ListSelectionEvent e) { if (!e.getValueIsAdjusting()) { JFileChooser chooser = getFileChooser(); ! JList list = (JList) e.getSource(); if (chooser.isMultiSelectionEnabled()) { File[] files = null; Object[] objects = list.getSelectedValues(); if (objects != null) { --- 411,431 ---- } } } } ! protected MouseListener createDoubleClickListener(JFileChooser fc, JList<?> list) { return new DoubleClickListener(list); } protected class SelectionListener implements ListSelectionListener { public void valueChanged(ListSelectionEvent e) { if (!e.getValueIsAdjusting()) { JFileChooser chooser = getFileChooser(); ! JList<?> list = (JList) e.getSource(); if (chooser.isMultiSelectionEnabled()) { File[] files = null; Object[] objects = list.getSelectedValues(); if (objects != null) {
*** 552,573 **** @SuppressWarnings("serial") // anonymous class JPanel comboBoxPanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 0, 0) { public void layoutContainer(Container target) { super.layoutContainer(target); ! JComboBox comboBox = directoryComboBox; if (comboBox.getWidth() > target.getWidth()) { comboBox.setBounds(0, comboBox.getY(), target.getWidth(), comboBox.getHeight()); } } }); comboBoxPanel.setBorder(new EmptyBorder(0, 0, 4, 0)); comboBoxPanel.setName("GTKFileChooser.directoryComboBoxPanel"); // CurrentDir ComboBox directoryComboBoxModel = createDirectoryComboBoxModel(fc); ! directoryComboBox = new JComboBox(directoryComboBoxModel); directoryComboBox.setName("GTKFileChooser.directoryComboBox"); directoryComboBox.putClientProperty( "JComboBox.lightweightKeyboardNavigation", "Lightweight" ); directoryComboBox.addActionListener(directoryComboBoxAction); directoryComboBox.setMaximumRowCount(8); comboBoxPanel.add(directoryComboBox); --- 552,573 ---- @SuppressWarnings("serial") // anonymous class JPanel comboBoxPanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 0, 0) { public void layoutContainer(Container target) { super.layoutContainer(target); ! JComboBox<?> comboBox = directoryComboBox; if (comboBox.getWidth() > target.getWidth()) { comboBox.setBounds(0, comboBox.getY(), target.getWidth(), comboBox.getHeight()); } } }); comboBoxPanel.setBorder(new EmptyBorder(0, 0, 4, 0)); comboBoxPanel.setName("GTKFileChooser.directoryComboBoxPanel"); // CurrentDir ComboBox directoryComboBoxModel = createDirectoryComboBoxModel(fc); ! directoryComboBox = new JComboBox<File>(directoryComboBoxModel); directoryComboBox.setName("GTKFileChooser.directoryComboBox"); directoryComboBox.putClientProperty( "JComboBox.lightweightKeyboardNavigation", "Lightweight" ); directoryComboBox.addActionListener(directoryComboBoxAction); directoryComboBox.setMaximumRowCount(8); comboBoxPanel.add(directoryComboBox);
*** 708,718 **** filterLabel.setDisplayedMnemonic(filterLabelMnemonic); panel.add(filterLabel); filterComboBoxModel = createFilterComboBoxModel(); fc.addPropertyChangeListener(filterComboBoxModel); ! filterComboBox = new JComboBox(filterComboBoxModel); filterComboBox.setRenderer(createFilterComboBoxRenderer()); filterLabel.setLabelFor(filterComboBox); interior.add(Box.createRigidArea(vstrut10)); interior.add(panel); --- 708,718 ---- filterLabel.setDisplayedMnemonic(filterLabelMnemonic); panel.add(filterLabel); filterComboBoxModel = createFilterComboBoxModel(); fc.addPropertyChangeListener(filterComboBoxModel); ! filterComboBox = new JComboBox<>(filterComboBoxModel); filterComboBox.setRenderer(createFilterComboBoxRenderer()); filterLabel.setLabelFor(filterComboBox); interior.add(Box.createRigidArea(vstrut10)); interior.add(panel);
*** 849,859 **** newFolderErrorText = null; newFolderErrorSeparator = null; } protected JScrollPane createFilesList() { ! fileList = new JList(); fileList.setName("GTKFileChooser.fileList"); fileList.putClientProperty(AccessibleContext.ACCESSIBLE_NAME_PROPERTY, filesLabelText); if (getFileChooser().isMultiSelectionEnabled()) { fileList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); --- 849,859 ---- newFolderErrorText = null; newFolderErrorSeparator = null; } protected JScrollPane createFilesList() { ! fileList = new JList<>(); fileList.setName("GTKFileChooser.fileList"); fileList.putClientProperty(AccessibleContext.ACCESSIBLE_NAME_PROPERTY, filesLabelText); if (getFileChooser().isMultiSelectionEnabled()) { fileList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
*** 875,885 **** align(scrollpane); return scrollpane; } protected JScrollPane createDirectoryList() { ! directoryList = new JList(); directoryList.setName("GTKFileChooser.directoryList"); directoryList.putClientProperty(AccessibleContext.ACCESSIBLE_NAME_PROPERTY, foldersLabelText); align(directoryList); directoryList.setCellRenderer(new DirectoryCellRenderer()); --- 875,885 ---- align(scrollpane); return scrollpane; } protected JScrollPane createDirectoryList() { ! directoryList = new JList<>(); directoryList.setName("GTKFileChooser.directoryList"); directoryList.putClientProperty(AccessibleContext.ACCESSIBLE_NAME_PROPERTY, foldersLabelText); align(directoryList); directoryList.setCellRenderer(new DirectoryCellRenderer());
*** 928,949 **** Collections.sort(v, fileComparator); } } @SuppressWarnings("serial") // Superclass is not serializable across versions ! protected class GTKDirectoryListModel extends AbstractListModel implements ListDataListener { File curDir; public GTKDirectoryListModel() { getModel().addListDataListener(this); directoryChanged(); } public int getSize() { return getModel().getDirectories().size() + 1; } ! public Object getElementAt(int index) { return index > 0 ? getModel().getDirectories().elementAt(index - 1): curDir; } public void intervalAdded(ListDataEvent e) { --- 928,950 ---- Collections.sort(v, fileComparator); } } @SuppressWarnings("serial") // Superclass is not serializable across versions ! protected class GTKDirectoryListModel extends AbstractListModel<File> implements ListDataListener { File curDir; public GTKDirectoryListModel() { getModel().addListDataListener(this); directoryChanged(); } public int getSize() { return getModel().getDirectories().size() + 1; } ! @Override ! public File getElementAt(int index) { return index > 0 ? getModel().getDirectories().elementAt(index - 1): curDir; } public void intervalAdded(ListDataEvent e) {
*** 972,982 **** getFileChooser().getCurrentDirectory(), "."); } } @SuppressWarnings("serial") // Superclass is not serializable across versions ! protected class GTKFileListModel extends AbstractListModel implements ListDataListener { public GTKFileListModel() { getModel().addListDataListener(this); } public int getSize() { --- 973,983 ---- getFileChooser().getCurrentDirectory(), "."); } } @SuppressWarnings("serial") // Superclass is not serializable across versions ! protected class GTKFileListModel extends AbstractListModel<File> implements ListDataListener { public GTKFileListModel() { getModel().addListDataListener(this); } public int getSize() {
*** 989,999 **** public int indexOf(Object o) { return getModel().getFiles().indexOf(o); } ! public Object getElementAt(int index) { return getModel().getFiles().elementAt(index); } public void intervalAdded(ListDataEvent e) { fireIntervalAdded(this, e.getIndex0(), e.getIndex1()); --- 990,1001 ---- public int indexOf(Object o) { return getModel().getFiles().indexOf(o); } ! @Override ! public File getElementAt(int index) { return getModel().getFiles().elementAt(index); } public void intervalAdded(ListDataEvent e) { fireIntervalAdded(this, e.getIndex0(), e.getIndex1());
*** 1017,1027 **** } @SuppressWarnings("serial") // Superclass is not serializable across versions protected class FileCellRenderer extends DefaultListCellRenderer { ! public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); setText(getFileChooser().getName((File) value)); if (showFileIcons) { --- 1019,1029 ---- } @SuppressWarnings("serial") // Superclass is not serializable across versions protected class FileCellRenderer extends DefaultListCellRenderer { ! public Component getListCellRendererComponent(JList<?> list, Object value, int index, boolean isSelected, boolean cellHasFocus) { super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); setText(getFileChooser().getName((File) value)); if (showFileIcons) {
*** 1031,1041 **** } } @SuppressWarnings("serial") // Superclass is not serializable across versions protected class DirectoryCellRenderer extends DefaultListCellRenderer { ! public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); if (showDirectoryIcons) { --- 1033,1043 ---- } } @SuppressWarnings("serial") // Superclass is not serializable across versions protected class DirectoryCellRenderer extends DefaultListCellRenderer { ! public Component getListCellRendererComponent(JList<?> list, Object value, int index, boolean isSelected, boolean cellHasFocus) { super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); if (showDirectoryIcons) {
*** 1093,1103 **** /** * Data model for a type-face selection combo-box. */ @SuppressWarnings("serial") // Superclass is not serializable across versions ! protected class DirectoryComboBoxModel extends AbstractListModel implements ComboBoxModel { Vector<File> directories = new Vector<File>(); File selectedDirectory = null; JFileChooser chooser = getFileChooser(); FileSystemView fsv = chooser.getFileSystemView(); --- 1095,1105 ---- /** * Data model for a type-face selection combo-box. */ @SuppressWarnings("serial") // Superclass is not serializable across versions ! protected class DirectoryComboBoxModel extends AbstractListModel<File> implements ComboBoxModel<File> { Vector<File> directories = new Vector<File>(); File selectedDirectory = null; JFileChooser chooser = getFileChooser(); FileSystemView fsv = chooser.getFileSystemView();
*** 1161,1171 **** public int getSize() { return directories.size(); } ! public Object getElementAt(int index) { return directories.elementAt(index); } } /** --- 1163,1174 ---- public int getSize() { return directories.size(); } ! @Override ! public File getElementAt(int index) { return directories.elementAt(index); } } /**
*** 1312,1322 **** return "ComboBox.renderer"; } return name; } ! public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); --- 1315,1325 ---- return "ComboBox.renderer"; } return name; } ! public Component getListCellRendererComponent(JList<?> list, Object value, int index, boolean isSelected, boolean cellHasFocus) { super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
*** 1343,1354 **** /** * Data model for filter combo-box. */ @SuppressWarnings("serial") // JDK implementation class ! protected class FilterComboBoxModel extends AbstractListModel ! implements ComboBoxModel, PropertyChangeListener { protected FileFilter[] filters; protected FilterComboBoxModel() { super(); filters = getFileChooser().getChoosableFileFilters(); --- 1346,1357 ---- /** * Data model for filter combo-box. */ @SuppressWarnings("serial") // JDK implementation class ! protected class FilterComboBoxModel extends AbstractListModel<FileFilter> ! implements ComboBoxModel<FileFilter>, PropertyChangeListener { protected FileFilter[] filters; protected FilterComboBoxModel() { super(); filters = getFileChooser().getChoosableFileFilters();
*** 1398,1408 **** } else { return 0; } } ! public Object getElementAt(int index) { if (index > getSize() - 1) { // This shouldn't happen. Try to recover gracefully. return getFileChooser().getFileFilter(); } if (filters != null) { --- 1401,1412 ---- } else { return 0; } } ! @Override ! public FileFilter getElementAt(int index) { if (index > getSize() - 1) { // This shouldn't happen. Try to recover gracefully. return getFileChooser().getFileFilter(); } if (filters != null) {