2015-01-13 2 views
1

Возможно, мне просто не хватает чего-то очень простого, но я не могу отобразить текстовую область на JFileChooser, которую я создал, и я не смог найти решение этой проблемы через Интернет. Я бы уточнил, что я работаю над OSX и уже пробовал setDialogType.JFileChooser без textArea

Я все еще stucked с этим интерфейсом:

enter image description here

мне действительно нужно текстовое поле (для установки файла), и это будет лучше, если бы я мог сохранить OSX-подобный интерфейс.

Чтобы быть более точным, я бы добавить красный текстовое поле изображения:

enter image description here

+0

Опубликуйте свой [SSCCE] (http://sscce.org/), который демонстрирует проблему. Тогда люди, которые используют одну и ту же ОС, могут протестировать код, чтобы узнать, есть ли у них такая же проблема. – camickr

+0

Фактически уже упомянутая ошибка, https://netbeans.org/bugzilla/show_bug.cgi?id=219555 (мой знакомый уже испытал это). –

ответ

0

Итак, я решил ошибку, изменив стиль пользовательского интерфейса, и я должен признать, что я не очень доволен этим разрешением, но это две строки кода и не должны вводить никаких ошибок; просто немного сломайте рабочий процесс, который я разработал. Это по-прежнему лучше для минимальных изменений; если вы не хотите этого делать, я предполагаю, что вы можете создать собственный диалог, но для этого требуется гораздо больше времени.

Я позволяю "волшебный" код там:

try { 
     UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); 
    } catch (Exception e) { 
     // If you got no chance ;) 
    } 

EDIT:

Я сделал ошибку и использовал неправильный метод. Я использовал showOpenDialog(Component parent) вместо showDialog(Component parent, String approveButtonTitle). В конце вы можете получить то, что хотите, написав что-то вроде этого:

JFileChooser fc = new JFileChooser(); 
String title = isLoad ? "Load the game" : "Save the game"; 
int type = isLoad ? JFileChooser.OPEN_DIALOG:JFileChooser.SAVE_DIALOG; 
fc.setDialogType(type); 
fc.showDialog(null, title); 
0

Попробуйте установить тип в SAVE_DIALOG. Это даст вам текстовое поле, которое вы хотите (разница между OPEN_DIALOG и SAVE_DIALOG полностью косметическая). Вам необходимо вручную переопределить текст строки заголовка и кнопку сохранения, чтобы прочитать «открыть», чтобы дать пользователю понять, для чего это диалоговое окно. Вам также нужно будет что-то сделать, если пользователь вводит имя файла, которого не существует.

+0

Да, как я уже говорил, я попытался установить константу. И вот почему я опубликовал, потому что это не имеет никакого значения ... (абсолютно ничего). Я даже сделал 'getDialogType', и я получил то, что я установил (как удивительно ...). И да название и все такие вещи будут улучшены, но это не приоритет, я хочу, чтобы мое текстовое поле! ;) –

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