社区
Java SE
帖子详情
自已绘制的窗囗的拖动问题?在线等,高手速进!
jordan1
2006-04-06 02:05:10
我做的一个程序由于界面不太美观,我决定自已绘制窗囗,也就是用setUndecorated(true)去掉窗囗装饰,然后整个窗囗边框都是绘图完成,完成后窗囗不能像windows窗囗那样用鼠标按着标题栏拖动位置。
我不知道怎么能让这个窗囗实现这个功能。
请高手指点!
up有分!
...全文
294
8
打赏
收藏
自已绘制的窗囗的拖动问题?在线等,高手速进!
我做的一个程序由于界面不太美观,我决定自已绘制窗囗,也就是用setUndecorated(true)去掉窗囗装饰,然后整个窗囗边框都是绘图完成,完成后窗囗不能像windows窗囗那样用鼠标按着标题栏拖动位置。 我不知道怎么能让这个窗囗实现这个功能。 请高手指点! up有分!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bgceft
2006-04-06
打赏
举报
回复
楼上正解
mq612
2006-04-06
打赏
举报
回复
import java.awt.event.MouseMotionAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseAdapter;
import javax.swing.JFrame;
import javax.swing.JPanel;
/**
* 利用鼠标监听解决无标题窗体的移动问题
*/
public class Test {
private JFrame frame = null;
JPanel pane = null;
int mouseX = 0;
int mouseY = 0;
public Test() {
frame = new JFrame();
frame.setUndecorated(true);
pane = (JPanel) frame.getContentPane();
pane.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent mouseEvent) {
if (mouseEvent.getButton() == mouseEvent.BUTTON1) {
mouseX = mouseEvent.getX();
mouseY = mouseEvent.getY();
}
}
});
pane.addMouseMotionListener(new MouseMotionAdapter() {
public void mouseDragged(MouseEvent e) {
if (e.getModifiers() == e.BUTTON1_MASK) {
frame.setLocation(frame.getX() + e.getX() - mouseX,
frame.getY() + e.getY() - mouseY);
}
}
});
frame.setSize(300, 200);
frame.setVisible(true);
}
public static void main(String args[]) {
Test t = new Test();
}
}
ilovejavaverymuch
2006-04-06
打赏
举报
回复
这样你可以在窗囗的任何位置按下鼠标进行搬运
ilovejavaverymuch
2006-04-06
打赏
举报
回复
加鼠标监听,然后,
Point point;
public void mousePressed(MouseEvent e){ ////按下鼠标时记录按下点在窗囗的坐标
pressPoint=new Point(e.getX(),e.getY());
}
public void mouseDragged(MouseEvent e){/////窗囗setLocation
Point point=getLocationOnScreen(); /////窗囗在屏幕上的位置
this.setLocation(point.x+e.getX()-pressPoint.x,point.y+e.getY()-pressPoint.y);
}
jordan1
2006-04-06
打赏
举报
回复
没人知道吗?
jordan1
2006-04-06
打赏
举报
回复
哪位高手知道的话,说得详细一点好吗?
jordan1
2006-04-06
打赏
举报
回复
楼上的,好像从鼠标事件中得到的坐标是相对于这个窗囗的吧?
而我需要的是这个窗囗相对于电脑屏幕的坐标啊?
java_augur
2006-04-06
打赏
举报
回复
add a mouse event listener on your windows.
just capure the mouse events to control its behavior.
Android
高手
进阶之自定义View,自定义属性(带进度的圆形进度条)源码
1. 在res/values/attrs.xml文件中定义自定义属性,如`progressColor`(进度颜色)、`backgroundColor`(背景颜色)和`progress`(当前进度)等。 2. 在自定义View类中通过`TypedArray`读取这些属性值,通常在`init ...
Android 自定义View (验证码)项目实例完整源码
- 文本
绘制
:使用`Paint`对象设置字体样式(大小、颜色、粗细等),然后调用`canvas.drawText()`方法在画布上
绘制
每个字符。 - 背景
绘制
:可以设置一个简单的背景色,或者
绘制
一个矩形框作为背景。 3. **触摸事件...
HTML5浪漫爱心表白动画
在线
演示程序
在这个表白动画中,可能运用了其中的一些关键特性,如canvas或svg来
绘制
动态的心形图案,通过JavaScript控制动画效果,为用户提供一种视觉上浪漫的体验。 1. **Canvas**:HTML5的canvas元素相当于一个可编程的画板...
Android 手势锁的实现
综上所述,实现Android手势锁需要理解触摸事件处理、自定义View的
绘制
、路径操作以及用户输入验证等多个Android基础知识。通过不断优化和调整,可以创建一个既美观又实用的手势锁组件,为用户提供安全且友好的验证...
HTML5 CSS3 :canvas 模拟实现电子彩票刮刮乐实例代码
这个上下文对象提供了丰富的绘图方法,如`fillRect()`, `strokeRect()`, `beginPath()`, `moveTo()`, `lineTo()`, `fill()`, `stroke()`等,用于
绘制
矩形、线条、路径等。 在刮刮乐彩票的实现中,通常会有一个隐藏...
Java SE
62,629
社区成员
307,258
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章