Text component not focusable (tabbed pane switching involved)
- From: Karsten Wutzke <kwutzke@xxxxxx>
- Date: Fri, 21 Mar 2008 15:27:55 -0700 (PDT)
Hello,
I have a simply JFrame with a subclassed JTabbedPane as main
container. Each tab contains a non editable JTextPane which display
some text. Under each text pane there is a one lined JTextField. This
text field acts as input for the JTextPane. It is basically a simple
*chat* GUI...
On pressing a button or some other key combo the text in the text
field is copied to the text pane...
The problem now is:
When having 2 or more chats/tabs, the user can switch chats by
clicking on the tabs. This focuses the tabs however. What I want here
is to focus the *input text field* when the tab selection changes. As
Karsten Lentzsch pointed out, the ChangeListener was basically the way
to go:
public synchronized void stateChanged(ChangeEvent ce)
{
System.out.println("stateChanged");
final SingleSelectionModel ssm = getModel();
int tc = getTabCount();
//one tab is displayed when chat list empty, so there's always a
selected index
if ( tc > 0 )
{
int index = ssm.getSelectedIndex();
if ( index == -1 )
{
return;
}
if ( lsChatPanels.size() <= index )
{
return;
}
//valid index...
JChatPanel cp = lsChatPanels.get(index);
System.out.println("Requesting focus on " + cp.getName());
JTextComponent tcUserMessage = cp.getUserMessageTextComponent();
//request focus on user message text component
tcUserMessage.requestFocus();
}
}
Well the code basically works, but it simply DOESN'T receive keyboard
focus. It's a very annoying thing in a chat app when you switch a chat
panel and can't just start to type! (usability = zero)...
Whatever the code shows above, the point is, how do I achieve
focussing that text component? I suspect it's not easy in conjunction
with a JTabbedPane because of the explicit mouse click tab selection
which focusses the tabs...
How do I achieve automatic text field focussing when switching tabs? I
fiddled for some hours now, but the results are very depressing...
Karsten
.
- Follow-Ups:
- Re: Text component not focusable (tabbed pane switching involved)
- From: RedGrittyBrick
- Re: Text component not focusable (tabbed pane switching involved)
- Prev by Date: Scrolling behavior on text pane
- Next by Date: Re: Scrolling behavior on text pane
- Previous by thread: Scrolling behavior on text pane
- Next by thread: Re: Text component not focusable (tabbed pane switching involved)
- Index(es):