Java swing- Могу ли я изменить имя на вкладке при запуске события? - PullRequest
2 голосов
/ 26 марта 2012

Во-первых, код:

tab_textArea_file.addTab(docLabel, null, scrollPane_textArea, null);

Итак, ситуация в том, что у меня есть список файлов, из которых пользователь может выбрать.Когда пользователь щелкает файл, его содержимое читается и загружается в textArea.«docLabel» (в приведенном выше коде) - это строка, которая должна измениться на имя выбранного файла, но это не так.Можно ли изменить имя в docLabel из приведенного выше кода?Я протестировал его с JOptionPane (работает), но он не работает на вкладке.

Ответы [ 4 ]

4 голосов
/ 26 марта 2012

Вы пробовали что-то вроде

int index = tab_textArea_file.getSelectedIndex();
tab_textArea_file.setTitleAt(index, "New Title");
4 голосов
/ 26 марта 2012

из документа Java, я вижу

setTitleAt(int index, String title)

Вы можете взять индекс нажатой вкладки и изменить имя

1 голос
/ 26 марта 2012

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

int selectedIndex = tabbedPane.getSelectedIndex();

и затем после того, как ваш файл выбран, позвоните

tabbedPane.setTitleAt(selectedIndex, "New Name");
0 голосов
/ 01 мая 2013

У меня возникла проблема с setTitleAt(int index, String title): если заголовок не появляется, попробуйте заменить:

tab_textArea_file.setTitleAt(index, docLabel);

с:

tab_textArea_file.setTitleAt(index, new String(docLabel));
...