Tag: mouseevent

Java – Swing中的mouseMoved()事件处理

我想听听JFrame中的鼠标移动和点击。 为此,我添加了一个像这样实现的MouseListener 🙁 View类的完整代码位于https://gist.github.com/2837224,Board类位于https://gist.github.com/2837231 ) class BattleshipsFrame extends JFrame { private final Board playerBoard, opponentBoard; private View view; /** Main window constructor. */ BattleshipsFrame() { … … … //creating and displaying boards playerBoard = new Board(); opponentBoard = new Board(); PlayerBoardListener mouseListener = new PlayerBoardListener(); this.addMouseListener(mouseListener); playerBoard.addMouseListener(mouseListener); opponentBoard.addMouseListener(new OpponentBoardListener()); boards.add(playerBoard); boards.add(opponentBoard); … … … } […]

请求java中有关jlabel和parent的一些说明

在互联网上发现这个代码,它是在几年前发布的,所以我决定在这里要求澄清一些我不太了解的行。 在mousePressed方法中,他的意思是: chessPiece = null他说如果JLabel chessPiece有一个图像,那么它应该被改为null ? chessBoard.findComponentAt(e.getX(), e.getY())返回JPanel方块? 最后,当Component c获得其父级时,谁是父级? 整个代码如下: public class ChessGameDemo extends JFrame implements MouseListener, MouseMotionListener { JLayeredPane layeredPane; JPanel chessBoard; JLabel chessPiece; int xAdjustment; int yAdjustment; private static final String imageFolderPath = “src/resources/images/”; public ChessGameDemo() { Dimension boardSize = new Dimension(600, 600); // Use a Layered Pane for this this […]

Java鼠标“手电筒”效果如何?

我正在编写一个简单的2D迷宫游戏,你可以通过很多房间。 我希望通过限制玩家的观点来使其变得有点挑战。 起初我想过将框架中的默认鼠标图标替换为半透明的PNG椭圆,但后来我意识到我需要阻止它周围的东西。 我能想到的唯一方法是将鼠标指针图标设置为比框架大的图像(因此当用户移动到角落时仍然是黑色时)填充它然后放置清晰褪色的椭圆在指针区域。 我想知道的是,这是可能的,我将如何做到这一点? 我正在学习java所以示例和oracle文档对我很有帮助。 提前致谢! 从这里看到这个链接 (加载需要一段时间)PS:我正在使用eclipse。

鼠标移动时java绘制线条

我想在我的应用程序中添加一个function,允许用户通过在起始位置单击鼠标并在结束位置释放它来绘制直线。 当鼠标移动直到它最终被释放时,线应该移动; 类似于使用Microsoft Paint应用程序绘制线条的方式。 如何实现这一点,以便线条在移动时重新绘制,而不重新绘制可能已在该矩形区域中绘制的其他内容?

如何确定Swing鼠标事件发生在哪个监视器?

我在组件上有一个Java MouseListener来检测鼠标按下。 如何判断鼠标按哪个显示器? @Override public void mousePressed(MouseEvent e) { // I want to make something happen on the monitor the user clicked in } 我想要实现的效果是:当用户在我的应用程序中按下鼠标按钮时,弹出窗口会显示一些信息,直到鼠标被释放。 我想确保此窗口位于用户单击的位置,但我需要调整当前屏幕上的窗口位置,以便整个窗口可见。

需要帮助才能从主图表中打开子图表?

我有以下图表: 现在我的问题是当用户点击图表的Linux部分时,我想打开一个包含Linux OS信息的新图表,如红色所示。 我试过这个: //check if Linux OS is clicked on chart… if(“Linux”.equals(chartMouseEvent.getEntity().getToolTipText())) { //open new chart having the information for Linux } 但我认为可能有更好的替代方法来做同样的工作。 如果您知道如何实现这一目标,请提供帮助。

未聚焦组件中的KeyPressed和mousePressed事件

有哪些方法可以检测关键笔划而无需关注事件实施的组件? 这是我的想法: 即使没有关注myComponent ,在按下某个键时,该动作也应该参与其中。 ** mousePressed事件的相同问题。 即使未单击组件,也会检测到鼠标单击。** myComponent.addKeyListener( new KeyAdapter() { @Override public void keyPressed( KeyEvent e ){ // My action here } }); 在回答Question1 ,即使应用程序在后台运行,它也可以完成吗? 假设我有一个浏览器,每次单击或按键时,都会执行给定的操作。 我也接受建议作为答案阅读。 如果您的答案与KeyBinding相关,请详细说明。 所有答案和评论将不胜感激。 我在这里使用了JNativeHooks 示例 ,它的工作原理非常好。 只有Java的任何其他方法?

Java鼠标在屏幕上的任何位置移动

我确信这是可能的,但我所有的搜索都是空白的。 在Java中,是否可以在Java应用程序之外注册鼠标运动事件? 因此,如果鼠标指针移动到屏幕上的任何位置,我会收到回电。 轮询MouseInfo.getPointerInfo可以进行近似,但必须有更好的方法。 谢谢 解释用例:它仅用于宠物项目,但基本上在鼠标触及屏幕边缘时触发事件。 我还在想,如果你试图超越屏幕的边缘,可能会触发不同的事件。 为此,我认为鼠标运动监听器可能更合适。

区分Java中的单击和双击

我搜索论坛并查看此代码: public void mouseClicked(MouseEvent e) { if (e.getClickCount() == 2) { System.out.println(” and it’s a double click!”); wasDoubleClick = true; } else { Integer timerinterval = (Integer) Toolkit.getDefaultToolkit().getDesktopProperty( “awt.multiClickInterval”); timer = new Timer(timerinterval.intValue(), new ActionListener() { public void actionPerformed(ActionEvent evt) { if (wasDoubleClick) { wasDoubleClick = false; // reset flag } else { System.out.println(” and […]

如何更改鼠标按下时的JButton颜色?

我想根据鼠标事件(鼠标进入,退出,按下等)获得自定义颜色。 所以为了实现这一点,我写了下面的代码。 它对一切都很好,除了鼠标按下事件的情况,它什么都不做。 它只有在我覆盖UIManager的颜色时才有效,就像这个UIManager.put(“Button.select”, Color.red); 。 UIManager问题在于它会改变我的所有按钮。 任何人都可以告诉我,我可能做错了什么,或者最好的办法是什么,我要做的是什么? 我的代码: final JButton btnSave = new JButton(“Save”); btnSave.setForeground(new Color(0, 135, 200).brighter()); btnSave.setHorizontalTextPosition(SwingConstants.CENTER); btnSave.setBorder(null); btnSave.setBackground(new Color(3, 59, 90)); btnSave.addMouseListener(new MouseListener() { @Override public void mouseReleased(MouseEvent e) { btnSave.setBackground(new Color(3, 59, 90)); } @Override public void mousePressed(MouseEvent e) { // Not working 🙁 btnSave.setBackground(Color.pink); } @Override public void mouseExited(MouseEvent […]