2010-08-23 2 views
40

Я хочу создать диалог «Открыть» и «Сохранить» в java. Пример того, что я хочу в изображениях ниже:Как «Открыть» и «Сохранить» с помощью java

Open:

Open file dialog

Сохранить:

Save file dialog

Как бы я идти об этом?

+14

Вопрос действителен; не делайте снизу только потому, что кто-то не является носителем английского языка. Вместо этого напишите комментарий, как улучшить вопрос. –

ответ

2

Прежде всего, вы захотите ознакомиться с учебным пособием Oracle, чтобы узнать, как сделать basic I/O in Java.

После этого вы захотите ознакомиться с учебником по адресу how to use a file chooser.

3

Возможно, вы можете взглянуть на JFileChooser, что позволяет использовать собственные диалоги в одной строке кода.

46

Вы хотите использовать объект JFileChooser. Он откроется и станет модальным и блокирует поток, который открыл его, пока вы не выберете файл.

Open:

 
JFileChooser fileChooser = new JFileChooser(); 
if (fileChooser.showOpenDialog(modalToComponent) == JFileChooser.APPROVE_OPTION) { 
    File file = fileChooser.getSelectedFile(); 
    // load from file 
} 

Сохранить:

 
JFileChooser fileChooser = new JFileChooser(); 
if (fileChooser.showSaveDialog(modalToComponent) == JFileChooser.APPROVE_OPTION) { 
    File file = fileChooser.getSelectedFile(); 
    // save to file 
} 

Есть несколько вариантов, вы можете установить, чтобы установить расширение фильтра имя файла, или текущий каталог. Для получения дополнительной информации см. API для javax.swing.JFileChooser. Существует также страница «Как использовать File Choosers» на сайте компании Oracle:

http://download.oracle.com/javase/tutorial/uiswing/components/filechooser.html

+0

Как использовать modalToComponent ??? – Arnold

+0

Независимо от того, какой компонент вы хотите, чтобы он был модальным. –

+0

@Arnold: Или просто замените 'modalToComponent' на' null' –

0

Вы также можете рассмотреть возможность использования SWT (другой библиотеки Java GUI). Плюсы и минусы каждого из них перечислены в:

Java Desktop application: SWT vs. Swing

Смежные вопросы