Как открыть файлы в Java Swing без JFileChooser

Я использую Java Swing (GUI) и хочу добавить в свой проект кнопку для открытия файлов.

Мне не нравитсяJFileChooser так как открывается маленькое окно для просмотра файлов каталогов. Могу ли я использовать что-то еще вместоJFileChooser under Java Swing?

Я пытался использовать элементы SWT, но это не сработало, это означает использование объекта кнопки, а затем использовать его внутриJFrame, но это не удалось, так что я думаю, SWT и Swing не смешиваются вместе?

Вот примерJava Swing с JFileChooser  и я что-то ищукак это положить в мойJFrame.

Windows file dialog

Ответы на вопрос(2)

JFileChooserВы можете выбратьFileDialog который использует диалоговое окно файла родной ОС. Смотрите такжеКод ранчо а такжеэтот ответ на ТАК

 ron05 июн. 2012 г., 18:13
Могу ли я использовать это в Swing?
 05 июн. 2012 г., 19:37
@ron Нет, но AWT и Swing возможны
 ron05 июн. 2012 г., 18:19
В основном, SWT & amp; Качаем, смешиваем вместе?
 05 июн. 2012 г., 18:14
@ron Да, ты можешь. В противном случае я бы не предложил это
Решение Вопроса

JFileChooser с родным PLAF, кажется, выполняет заявленное требование.

Native PLAF file chooser

import javax.swing.JFileChooser;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;

public class NativeFileChooser {

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                try {
                    UIManager.setLookAndFeel(
                            UIManager.getSystemLookAndFeelClassName());
                } catch(Exception e) {
                    e.printStackTrace();
                }
                JFileChooser jfc = new JFileChooser();
                jfc.showOpenDialog(null);
            }
        });
    }
}

Все еще не совсем по вкусу? Тогда вы можете начать сэтот & Амп; изменить его на необходимость:

..so I guess SWT and Swing don't mix together?

Как правило, смешивать компоненты Swing / AWT / SWT вsame top-level container, Это не проблема, чтобы открыть AWTFileDialog на основе свингаJFrame так как они оба являются контейнерами верхнего уровня. Я почти уверен, что то же самое относится к Swing / SWT или AWT / SWT.

 ron05 июн. 2012 г., 19:00
Мне нужно выбрать файл и затем проанализировать его, короче говоря, процесс выбора файла - это только начало программы, следовательно,main затрудняет Должен ли я опубликовать весь код в другом вопросе? еще раз спасибо
 05 июн. 2012 г., 19:33
"..post the entire code in another question.."  1) Да, еще один вопрос, но 2) Для более быстрой помощи, опубликуйтеSSCCE (а не «весь код»).
 05 июн. 2012 г., 19:46
К вашему сведению: это работает на Windows, но не на OS X. Под OS XFileDialog показывает стандарт «открытый файл»; окно (включая боковую панель) в то время какJFileChooser не имеет боковой панели. И я боюсь, что под Linux вы в конечном итоге с GTKJFileChooser который совершенно непригоден для использования и не имеет ничего общего с приличным выбором файлов
 ron05 июн. 2012 г., 18:54
Как я могу использовать этот код безmain ? Я пытался удалить это, но код не будет компилироваться без него. Спасибо !!
 05 июн. 2012 г., 18:56
"How can I use this code without the main?"  Если у вас нет хитрой IDE, которая вставляет значение по умолчанию (невидимое)main метод для вас, необходимо либо иметь хотя бы одинmain или разработайте апплет, чтобы вывести на экран графический интерфейс Swing. Я не рекомендую апплет, поэтому придерживайтесь понимания, как заставить код работать сmain.

Ваш ответ на вопрос