2015-08-11 2 views
0

Как изменить текст кнопки FileDialog (а не JFileChooser)? В двух режимах указывается текст кнопки:Как изменить текст кнопки FileDialog?

FileDialog.LOAD -> "Open" 
FileDialog.SAVE -> "Save" 

Но я хочу, чтобы кнопка говорила что-то еще. Можно ли изменить этот текст?

+0

Вопрос отредактирован: метка Swing удалена и добавлен тег AWT. FileDialog не является классом Swing, а скорее классом AWT. –

+0

Зачем использовать AWT? См. [Этот ответ] (http://stackoverflow.com/questions/6255106/java-gui-listeners-without-awt/6255978#6255978) по многим причинам, чтобы отказаться от использования AWT с использованием компонентов в пользу Swing. –

+0

@AndrewThompson Я согласен с использованием Swing over AWT. Единственным компонентом AWT во всем приложении является FileDialog, поскольку на OS X Swing JFileChooser выглядит ужасно. – whiskeyspider

ответ

1

Вы не можете изменить текст кнопки только с помощью методов FileDialog, единственный текст, который вы можете редактировать, - это заголовок окна, который открывается, когда вы нажимаете, например, «Открыть».

FileDialog fd = new FileDialog(FdExample.this, "select File", FileDialog.LOAD); 
fd.setTitle("any new title"); 

Если вы хотите пользовательский текст кнопки, вы можете использовать JButton и ActionListener активировать FileDialog. Наверное, это будет лучший способ.

0
FileDialog dialog = new FileDialog(Display.getDefault().getActiveShell(),SWT.SAVE); 
+0

Благодарим вас за этот фрагмент кода, который может оказать немедленную помощь. Правильное объяснение [значительно улучшило бы] (// meta.stackexchange.com/q/114762) его образовательное значение, показав * почему * это хорошее решение проблемы и сделало бы его более полезным для будущих читателей с похожими, но не идентичные вопросы. Пожалуйста, отредактируйте свой ответ, чтобы добавить объяснение, и укажите, какие ограничения и допущения применяются. В частности, где текст, который вы назначаете ярлыкам кнопок? –