【发布时间】:2013-06-21 16:11:11
【问题描述】:
所以我想要完成的是创建两个 JFrame。一个将覆盖整个屏幕,当用户单击该屏幕时,当用户单击并拖动鼠标时会显示一个新的 JFrame。用户第一次点击的地方是新 JFrame 的左上角,而用户释放鼠标的地方是 JFrame 的右下角。单击并释放鼠标时,制作两个 JFrame 并显示第二个 JFrame 没有问题。问题是我希望新的 JFrame 在用户移动鼠标时实时显示,以便在释放鼠标之前。我试过了
public void mouseDragged(MouseEvent e) {
FrontWindow f = new FrontWindow();
while (true) {
f.setBounds(Shared.xPressed, Shared.yPressed, (Utils.getXPosition() - Shared.xPressed) , (Utils.getYPosition() - Shared.yPressed));
f.setVisible(true);
}
}
但这没有用。
【问题讨论】:
-
您希望 JFrame 本身出现还是它的轮廓就足够了?
-
欢迎来到阻塞事件调度线程的精彩世界。您的代码不仅会阻止您的应用程序处理任何新事件,还会阻止它执行任何更新/重绘
-
@MonadNewb 只要形状随着鼠标移动而变化,JFrame 的轮廓就足够了。
-
@MadProgrammer 你能解释一下我的代码有什么问题吗?
-
这一切应该为最终用户实现什么?向我描述它,就好像我是潜在用户一样,这是我“必须具备”的应用程序功能。
标签: java swing jframe mouseevent