Прозорецът за избор на файлове и папки в Ява (jfilechooser)

В тази статия искам да ви разкажа за един много популярен елемент на интерфейса в Java JFileChooser. Той се използва, за да се покаже списък с файлове на вашия компютър и да изберете файла или папката на потребителя. На други езици той се нарича pogrammirovaniya OpenDialog и така нататък. За проучване на тази част от интерфейса, опитайте се да я създадете и да видим как изглежда. За да направите това ние се нуждаем от нишка на контейнера. За да създадете контейнер, просто ще напиша една нова класа, която е наследена от JFrame, така че точката на влизане код ще изглежда така:

обществени клас Solution публично статично невалидни основни (String [] аргументи) нов MyFrame ();
>
>

Създаване на диалогов прозорец за избор на файл вътре в нашата конструктор. На следващо място, възниква въпросът: Как мога да се покаже прозорец за избор на потребителя файл? За тази цел има метод showOpenDialog.

обществени клас MyFrame простира JFrame MyFrame ()
setBounds (0,0,500,500);
JFileChooser диалогов = нов JFileChooser ();
dialog.showOpenDialog (това);
setVisible (истина);
>
>

Прозорецът за избор на файлове и папки в Ява (jfilechooser)

Сега ние сме в състояние да покаже, избор на файлове потребителски интерфейс и погледнете как изглежда себе си. Това е време да се научите как да се получи информация за избор на потребителя. За да направите това, което трябва да знаете дали потребителят избран файл или папка. Ние със сигурност имаме възможност да си задават въпроса дали такава възможност от страна на потребителя, или не. По подразбиране, можете да изберете файл. Нека да го получи. Не забравяйте да се свържете на библиотеката за работа с файлове.

внос javax.swing * .;
внос java.io.File;
обществени клас MyFrame простира JFrame MyFrame ()
setBounds (0,0,500,500);
JFileChooser диалогов = нов JFileChooser ();
dialog.showOpenDialog (това);
Файл = dialog.getSelectedFile ();
setVisible (истина);
>
>


За да разрешите или забраните избора на файлове или папки, трябва да се използва dialog.setFileSelectionMode функция с аргументи от JFileChooser клас. Да покажа един пример код, който знае как да изберете папки и файлове.

внос javax.swing * .;
внос java.io.File;
обществени клас MyFrame простира JFrame MyFrame ()
setBounds (0,0,500,500);
JFileChooser диалогов = нов JFileChooser ();
dialog.setFileSelectionMode (JFileChooser.FILES_AND_DIRECTORIES);
dialog.showOpenDialog (това);
Файл = dialog.getSelectedFile ();

setVisible (истина);
>
>

Сега мисля, че са малко по себе си малко JFileChooser клас и би искал да покаже, че той е напълно универсален. Можете да персонализирате всичко в него. Вариращи от това дали да се даде възможност изберете множество файлове или не, слагайки край на титлата си на различни елементи в него.

внос javax.swing * .;
внос java.io.File;

обществени клас MyFrame простира JFrame MyFrame () setBounds (0, 0, 500, 500);
JFileChooser диалогов = нов JFileChooser ();
dialog.setFileSelectionMode (JFileChooser.FILES_AND_DIRECTORIES);
dialog.setApproveButtonText ( "Избор"); // изберете име за съгласието на един бутон
dialog.setDialogTitle ( "Изберете файл за качване"); // изберете името
dialog.setDialogType (JFileChooser.OPEN_DIALOG); // изберете вида на диалог Open или Save
dialog.setMultiSelectionEnabled (истина); // Razregit изберете няколко файла
dialog.showOpenDialog (това);
Файла [] файлови = dialog.getSelectedFiles ();
setVisible (истина);
>
>

Единственото нещо повече искам да кажа това за филтрите. Можете да изберете кои файлове се показва на потребителя. Например, аз ще ви покажа един филтър за FileChooser, което е в състояние да показва файлове с определено разширение.

обществени клас myFileFilter простира javax.swing.filechooser.FileFilter String вътр, описание;

обществен String getDescription () описание връщане;
>

myFileFilter (String вътр, String описание) this.ext = вътр;
>
// Този метод може да бъде всеки чек файл
обществен Булева приемам (File е) ако (е = нула!) ако (f.isDirectory ()) връщат вярно;
>

. Връщане f.toString endsWith () (вътр);
>
върнете невярна;
>

>
внос javax.swing * .;
внос java.io.File;

обществени клас MyFrame простира JFrame MyFrame () setBounds (0, 0, 500, 500);
JFileChooser диалогов = нов JFileChooser ();
dialog.setFileFilter (нова myFileFilter ( "TXT.", ""));
dialog.showOpenDialog (това);
Файла [] файлови = dialog.getSelectedFiles ();
setVisible (истина);
>
>