Tag: 事件

Java – paintComponent中的MouseListener Action事件

这里我有一个代码,使用paintComponent在mouseClicked位置绘制一个矩形。我可以得到输出消息,但任何与图形和.draw()相关的东西都不会起作用。 码: import java.awt.*; import java.awt.event.*; import javax.swing.*; public final class testclass extends JFrame { static JPanel p; Timer t; int x = 1; int y = 1; int xspeed = 1; int yspeed = 1; public testclass() { initComponents(); this.setBounds(100, 300, 500, 500); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); t.start(); this.add(p); } public void initComponents() { final ActionListener action […]

JTabbedPane上的fire stateChanged事件

我有JTabbedPane和淡入淡出动画,当用户点击标签时会执行。 为了处理动画,我重写了stateChanged方法。 public class AnimatedJTabbedPane extends JTabbedPane implements ChangeListener, TimingTarget{ /** * */ private static final long serialVersionUID = 1L; protected BufferedImage previousTabImage; protected BufferedImage bufferImage; protected BufferedImage nextTabImage; protected boolean animationStarted = false; protected boolean paintPreviousImage = false; protected boolean leftToRightIndex = false; protected float fraction = 0.0f; protected Animator animator; protected int previousTabIndex […]

Swing:将事件委托给已转换父级的子组件

我有一个自定义组件GameViewCanvas extends JPanel ,它将包含许多区块(800×800纹理)。 现在在GameViewCanvas中我重写了paint()方法,以便它将子项绘制在转换后的canvas上(缩放,平移和旋转)。 我现在想要将像MouseEvent和MouseMotionEvent这样的事件委托给相应的孩子 – 问题当然是Swing不知道孩子们在实际框架中的位置。 我以为我可能只能在父级中覆盖像getComponentAt这样的方法但没有这样的运气 – 我认为Swing直接在子代中循环? 也许我说这一切都错了,所以请建议。 提前致谢。

如何从Java2D生成的图形生成事件

我在java.awt.geom.Ellipse2D的帮助下制作了一个Ellipse 现在,我希望每当用户点击该椭圆时,就会生成一个事件,以便我可以监听该事件并根据生成该事件的椭圆执行后续任务。

如何通知复合材料的孩子收到/失去焦点?

我有一个SWT Composite ,我需要传递给其他代码,这些代码会随意添加子代码。 有没有办法通知复合材料的孩子收到并失去了焦点? 为了确保清楚,我无法为每个孩子添加听众,因为我不负责创建这些控件。 可以随时添加一个孩子。

侦听组件层次结构的关键事件

我有一个Swing应用程序,需要根据是否按下控制键或alt键显示不同的控件组。 我向主组件添加了一个KeyListener,但只有在选择了该组件时才通知它,而不是在选择了一个子组件时。 有没有办法听取组件和所有后代的事件? 编辑: 我尝试使用主要组件的InputMap,但按下修饰键时不会触发任何事件。 具体来说,我有以下代码: InputMap inputMap = panel.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); inputMap.put(KeyStroke.getKeyStroke(“pressed CONTROL”), “test1”); inputMap.put(KeyStroke.getKeyStroke(“released CONTROL”), “test2”); ActionMap actionMap = panel.getActionMap(); actionMap.put(“test1”, new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { System.out.println(“pressed”); } }); actionMap.put(“test2”, new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { System.out.println(“released”); } }); 按下并释放控制键时,将打印“已释放”但未“按下”。 没有其他任何东西在任何InputMap中注册任何东西,所以它不像其他东西注册了相同的键击。

Akka是否支持没有对象序列化的进程内消息传递?

希望使用Akka Actors在同一JVM中的Java线程之间传递事件。 其中一些事件包含大对象(10-100Mb)。 我想避免序列化这些对象,同时通过仅传递对象的引用来节省内存空间; Akka支持这个吗? 我知道可以实现一个自定义的Akka序列化程序,这可能是一个解决方案,但除此之外我不太了解该框架。

如何在Java中检测Image对象上的鼠标单击事件?

用Java实现“ Kings’Corners ”(美化多人游戏纸牌)。 我试图允许玩家将牌(图像)从他们的手拖到桌子上的其他地方。 问题是玩家的手被“扇动”,因此卡片的图像会旋转并重叠。 这是一只手的例子: 我考虑过将每张卡片都设为JPanel ,但问题是我必须将卡片在其矩形 JPanel内旋转,因为它们本身无法旋转。 理想情况下,我想避免使用mouse-x,y公式来确定选择哪张卡片。 使用事件驱动的方法,我如何确定从手中选择哪张牌?

将按键发送到JTextField

我正在尝试将文本输入模拟到JTextField 。 我有一个1字符长的字符串,其中包含我要添加的字母,然后运行: receiver.dispatchEvent(new KeyEvent(this, KeyEvent.KEY_TYPED, 0, this.shifted?KeyEvent.SHIFT_DOWN_MASK:0, KeyEvent.VK_UNDEFINED, text.charAt(0))); 但这似乎并没有改变内容。 我在这里想念的是什么?

将鼠标事件传递给Java UI后面的应用程序

我的问题与如何将鼠标事件传递给我在C#/ Vista中的应用程序中的要求完全相同? ,但我对透明Java UI也需要相同的东西。 我可以使用6.0轻松创建透明的Java UI,但无法获得有关通过应用程序将事件传递给后面的任何应用程序(例如浏览器)的任何信息。