Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.gui > #5199

Re: Passing KeyEvent upward

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>

Show all headers | View raw


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 | NextPrevious in thread | Next in thread | Find similar


Thread

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