Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.gui > #5199
| From | "John B. Matthews" <nospam@nospam.invalid> |
|---|---|
| Newsgroups | comp.lang.java.gui |
| Subject | Re: Passing KeyEvent upward |
| Date | 2012-07-22 21:32 -0400 |
| Organization | The Wasteland |
| Message-ID | <nospam-AA6815.21322222072012@news.aioe.org> (permalink) |
| References | <0f05834e-c654-4925-b78a-b8328b23ba0b@googlegroups.com> |
In article <0f05834e-c654-4925-b78a-b8328b23ba0b@googlegroups.com>, Adam Beneschan <adam@irvine.com> wrote: > I'm trying to learn how to program in Java and use some of the GUI > features. Here's something I'm trying to do but haven't succeeded at > yet. > > I have a text window (JTextPane) object, and I want to set things up > so that when a certain something happens, a popup menu (JPopupMenu) > will come up. But I'd like it so that if the user presses a key, the > key is handled just as if the menu hadn't come up--that is, the > key-press event will be handled by the JTextPane (or is it the > associated document?) as if the user had typed that key into the > document. I've already set up a MenuKeyListener for the popup menu > that recognizes the KeyEvent and calls menu.setVisible(false) to get > rid of the menu. So far, so good. But I don't know how to get the > KeyEvent propagated to the text window. I've tried getKeyListeners() > on the JTextPane and then calling the keyTyped explicitly on each > listener. No good--the only listener it found was one I had added > myself for debugging. I also tried > textPane.getInputContext().dispatchEvent(e) on the KeyEvent; that > didn't do what I wanted either (seemed to have no effect). > > Any thoughts? I haven't found anything else to try. I would endorse markspace's suggestion. For even more flexibility, extend AbstractAction and use instances in your popup items, as shown here: <http://stackoverflow.com/a/5129757/230513> <http://docs.oracle.com/javase/tutorial/uiswing/misc/action.html> JTextPane supports a large number of predefined Action implementations that operate on the current selection of the Document, as shown in these examples: <http://stackoverflow.com/a/10568672/230513> <http://stackoverflow.com/a/8534162/230513> <http://www.artima.com/forums/flat.jsp?forum=1&thread=1276> -- John B. Matthews trashgod at gmail dot com <http://sites.google.com/site/drjohnbmatthews>
Back to comp.lang.java.gui | Previous | Next — Previous in thread | Next in thread | Find similar
Passing KeyEvent upward Adam Beneschan <adam@irvine.com> - 2012-07-22 16:09 -0700
Re: Passing KeyEvent upward markspace <-@.> - 2012-07-22 17:26 -0700
Re: Passing KeyEvent upward markspace <-@.> - 2012-07-22 17:39 -0700
Re: Passing KeyEvent upward Adam Beneschan <adam@irvine.com> - 2012-07-23 21:15 -0700
Re: Passing KeyEvent upward markspace <-@.> - 2012-07-23 23:08 -0700
Re: Passing KeyEvent upward "John B. Matthews" <nospam@nospam.invalid> - 2012-07-22 21:32 -0400
Re: Passing KeyEvent upward Roedy Green <see_website@mindprod.com.invalid> - 2012-07-23 23:46 -0700
Re: Passing KeyEvent upward Knute Johnson <nospam@rabbitbrush.frazmtn.com> - 2012-07-24 13:15 -0700
Re: Passing KeyEvent upward Adam Beneschan <adam@irvine.com> - 2012-07-24 21:08 -0700
Re: Passing KeyEvent upward markspace <-@.> - 2012-07-24 22:50 -0700
Re: Passing KeyEvent upward Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2012-07-25 00:32 +0200
csiph-web