我有一個帶有多個JTabbedPane
的swing GUI;每個選項卡頂部包含兩個JButtons
,然後一個JTextArea
(用於用戶輸入),底部包含JTextField
以獲得結果。Java - 如何在選擇新的JTabbedPane時專注於JTextArea
我的問題是,我不能讓JTextArea
切換標籤後沒有用鼠標點擊它或使用鍵盤上的標籤鍵獲得焦點?
我有...
frame.addWindowFocusListener(new WindowAdapter() {
public void windowGainedFocus(WindowEvent e) {
textArea_1.requestFocusInWindow();
...這工作得很好,當應用程序第一次運行(在第一個選項卡具有焦點textarea的),但是當我切換到另一個選項卡窗格的第一個按鈕,現在有焦點而不是textArea,當我切換回第一個選項卡時,textArea已失去焦點,並且第一個按鈕再次具有焦點。
我試着給每個textArea添加一個requestFocus,並且我已經嘗試過在每個textArea上「前置」,並且我已經與Focus Traversal混淆了,但是我沒有做任何事情似乎使textArea獲得焦點標籤更改?
這讓我難住了一個星期,所以任何幫助將感激地收到?
嘗試使用SwingUtilities.invokeLater和調用textArea_1.requestFocusInWindow – MadProgrammer
感謝MadProgrammer,我已經有invokeLater設置,並聲明這適用於程序第一次運行時,我有麻煩的是當我改變到另一個tabbedpane我可以不需要把重點放在組件(JtextArea)上? – user1938204
不,我的意思是,在您的更改偵聽器中,使用SwingUtilities.invokeLater,並在調用requestFocusInWindow – MadProgrammer