最近学习java图形编程时遇到好多问题完全没有头绪
我创建了一个JFrame的子类BrickFrame,JPanel的子类Brick(一个矩形)
然后我在BrickFrame中添加一个Brick
Brick brick = new Brick();
add(brick);
设置brick的坐标brick.setLocation(0, 0);
如图
然后我通过监听鼠标事件,想让brick移动到鼠标点击的地方,但是brick的位置总是出现在我鼠标点击的右下角一点的位置,比如我点击这个窗口中最左上角的位置(上图中brick的左上角),按理说brick也应该紧挨着左上角不变,但是却是这样:
我在控制台输出鼠标坐标位置,发现在brick (0, 0)的坐标位置,鼠标的坐标确是(8, 30)。好像刚好是这个Frame的边框的像素。这是为什么呢?怎么才能让鼠标得到的坐标不包含边框呢?
相关推荐
标题"java获取鼠标坐标位置swing"指的是利用Java Swing来编程,实现在Swing组件上显示鼠标移动时的坐标位置。 首先,要获取鼠标坐标,我们需要导入必要的Java Swing库,如`javax.swing.*` 和 `java.awt.event.*`。...
这个名为"取得鼠标坐标.rar"的压缩包文件似乎包含了一个执行程序,用于展示或帮助开发者理解如何在编程中获取鼠标的实时位置信息。下面我们将深入探讨这个主题,讲解如何在不同的编程语言中获取鼠标坐标。 首先,让...
在Java编程语言中,跟踪鼠标的运行坐标是一项基础但实用的技术,这通常涉及到事件处理和图形用户界面(GUI)的设计。下面将详细讲解如何通过Java实现这个功能。 首先,Java中的`java.awt.event.MouseEvent`类提供了...
获取到鼠标坐标后,源码可能会把这些坐标信息显示在一个文本框或者标签(`JLabel`)中,或者在画布上绘制一个点来表示鼠标的位置。这通常涉及到`repaint()`方法的调用,以刷新组件的视图。 6. **Swing和AWT组件**...
- **Swing**: Swing是建立在AWT基础上的一组更高级别的GUI工具包,提供了一系列功能更强大且外观更一致的组件。Swing组件通常继承自AWT的对应组件,并添加了更多的功能和灵活性。 #### 二、程序代码解析 ##### 1. ...
在Java Swing中,我们可以使用`addMouseMotionListener`方法将`MouseMotionListener`添加到需要监听的组件上,比如JFrame、JPanel等。例如: ```java myComponent.addMouseMotionListener(new MouseMotionAdapter...
在Java编程语言中,跟踪鼠标运行坐标是一项基本的GUI(图形用户界面)编程任务,它涉及到事件处理和组件监听。这个"基于java的实现跟踪鼠标运行坐标的源码.zip"文件很可能包含了一个简单的Java应用程序,该程序展示...
为了保证界面的响应性和避免阻塞,所有与UI相关的操作都应在这个线程中执行,包括更新坐标和重绘组件。 7. **代码组织**: 优秀的Java源码通常会遵循良好的代码组织原则,如单一职责原则(Single Responsibility ...
在编程领域,尤其是在GUI(图形用户界面)开发中,判断鼠标是否移动到某组件上是一项常见的功能需求。这个功能可以帮助实现交互式应用,比如高亮显示、悬停提示或者响应鼠标事件。在Java Swing或JavaFX这样的库中,...
这个方法会在鼠标在组件上移动时被调用,参数`e`是一个`MouseEvent`对象,包含了关于事件的所有信息,包括鼠标的位置。 ```java import java.awt.event.MouseMotionListener; import javax.swing.JFrame; import ...
4. **获取鼠标坐标**: 在`mouseMoved()`或`mouseDragged()`方法的回调中,我们可以访问`MouseEvent`对象。这个对象包含了关于鼠标事件的所有信息,如事件类型、时间戳以及鼠标位置。通过调用`getPoint()`或`getX()...
在Java编程中,鼠标事件(MouseEvent)是图形用户界面(GUI)编程的重要组成部分,它允许程序响应用户的鼠标操作。在这个“java鼠标事件--正弦曲线”的主题中,我们将深入探讨如何利用Java AWT和Swing库来处理鼠标...
在绘画应用中,我们需要在鼠标按下时记录起始坐标,然后在鼠标移动时不断更新线条的终点坐标,直到鼠标释放。 5. **事件处理**: Java中的事件处理采用模型-视图-控制器(MVC)模式。在这个应用中,我们需要在Swing...
在Java编程语言中,处理图像是...通过以上步骤,我们可以在Java中实现一个功能齐全的图像处理组件,能够支持图片的中心放大、缩小、移动以及鼠标拖移。这在开发涉及图像交互的应用,如地图应用或图像编辑器时非常有用。
在Java AWT(Abstract Window Toolkit)库中,`MouseListener`接口是用于监听鼠标事件的核心组件。要实现鼠标位置跟踪,我们需要实现这个接口并覆盖它的四个方法:`mousePressed`、`mouseReleased`、`mouseClicked`...
- **JPanel**:Swing中的面板容器,用于容纳其他组件,并且可以进行自定义绘图。 - **JPopupMenu**:弹出菜单,通过`show`方法展示。 - **JMenuItem**:菜单项,添加到`JPopupMenu`中。 #### 1.3 绘图上下文 - **...
通过`MouseEvent`的`getX()`和`getY()`方法可以获取鼠标在组件上的坐标,这对于定位和拖放操作特别有用。 8. **事件处理的层次** 在复杂的GUI中,事件可能会被多个组件捕获。事件处理遵循"事件冒泡"或"事件捕获...
在这个场景中,源码实现了跟踪鼠标坐标的功能。 2. **系统相关**:这里的“系统相关”可能指的是程序与操作系统交互的能力。在Java中,这通常涉及到Java的AWT(Abstract Window Toolkit)或Swing库,它们提供了与...