jQuery in Action, 2nd edition*
The moose likes Swing / AWT / SWT and the fly likes Usability features Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Swing / AWT / SWT
Bookmark "Usability features" Watch "Usability features" New topic
Author

Usability features

Eric Larsen
Ranch Hand

Joined: Mar 28, 2009
Posts: 35
Hey everybody, I've been writing a simple chat program, and I was wondering about a few features that I haven't been able to figure out just yet.

1. How do I set the scroll bar's position manually, via code.
2. How do I call a method from a keystroke?

I plan on putting a method call to whatever method number 1 entails at the end of the while loop in IncomingReader's run() method, and I'd also like the program to be able to send the user's message when they press ENTER.

The code for the client class:




[Thumbnail for chat screenshot.JPG]

Michael Dunn
Ranch Hand

Joined: Jun 09, 2003
Posts: 4632
> 1. How do I set the scroll bar's position manually, via code.

get the scrollbar from the scrollPane and
scrollBar.setValue(someIntValue);

but this has always been a bit wonky
a lot depends on what the maximum value is (and, if I remember correctly, this 'maximum' can change)

an alternative is to get the scrollPane's viewport and
viewport.scrollRectToVisible(someRectangle);

where someRectangle could be (e.g.) textfield.getBounds()


> 2. How do I call a method from a keystroke?

keyBindings

http://java.sun.com/docs/books/tutorial/uiswing/misc/keybinding.html
Eric Larsen
Ranch Hand

Joined: Mar 28, 2009
Posts: 35
Thanks, Michael.

I'm still having problems, though. When I try to compile my code now, it give's me an error:



My revised code to bind the Enter key to my JTextField outgoing:

pete stein
Bartender

Joined: Feb 23, 2007
Posts: 1561
Rather than implement Action, I'd try having having your class extend AbstractAction. This way while it has to implement the actionPerformed method it only overrides the other Action methods that you think are necessary (or none at all).
Rob Spoor
Sheriff

Joined: Oct 27, 2005
Posts: 19544
    
  16

You also might want to combine the SendButtonListener and SendAction classes, removing the first. Action extends ActionListener, so you can use Action where you can use ActionListener.


SCJP 1.4 - SCJP 6 - SCWCD 5 - OCEEJBD 6
How To Ask Questions How To Answer Questions
Eric Larsen
Ranch Hand

Joined: Mar 28, 2009
Posts: 35
Awesome, thanks guys!!!

It works very well now! I took Rob and Pete's advice and it helped quite a bit. Thanks!
I also put in some other code to check for the presence of text in JTextField outgoing before sending.

Here's the final code:

 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Usability features
 
Similar Threads
How do you formally disconect a client from a server?
Chapter 15 SimpleChatClient
While loop problem
Best way for login authentication
I need help improving this chat server and chat client!