Java 窗口移动

Java 窗口移动,第1张

监听一下窗口关闭事件就可以了WindowEvent。 监听到关闭事件后代码大概如下

:假设向左移动出窗口

int locationX

while(locationX >0)

{

locationX -= 10

this.setLocation(locationX, y)

this.repaint()

Thread.sleep(50)

}

哦。向下移,就是修改y坐标的。也和上面差不多。放心好了。不会不舒服,利用Thread.sleep控制移动延迟,locationY -= speed控制移动的幅度。

首先这种效果我没有做过,因为现在实在没有人用swing写GUI客户端了。

让我现在给你写个完整的代码也么那么多时间》

首先分隔成三个窗体,用三个jpanel放到jframe中,然后仔细的设置窗体和jpanel的宽高和位置就能了,

至于拖动变成竖的,你只需要在底下console的窗口的jpanel加上MouseListener,具体的可靠下面的代码:

注意的是,当底下的console的位置变更,变成竖的了,其他的jpanel的位置你也需要进行更新调整

myFrame.addMouseListener(new MouseAdapter() {

            // 按下(mousePressed

            // 不是点击,而是鼠标被按下没有抬起)

            public void mousePressed(MouseEvent e) { 

                // 当鼠标按下的时候获得窗口当前的位置

                origin.x = e.getX() 

                origin.y = e.getY()

            }

        })

        myFrame.addMouseMotionListener(new MouseMotionAdapter() {

            // 拖动(mouseDragged

            // 指的不是鼠标在窗口中移动,而是用鼠标拖动)

            public void mouseDragged(MouseEvent e) {                                                        

                // 当鼠标拖动时获取窗口当前位置

                Point p = myFrame.getLocation() 

                // 设置窗口的位置

                // 窗口当前的位置 + 鼠标当前在窗口的位置 - 鼠标按下的时候在窗口的位置

                myFrame.setLocation(p.x + e.getX() - origin.x, p.y + e.getY()

                        - origin.y)

            }

        })


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/7924801.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-11
下一篇2023-04-11

发表评论

登录后才能评论

评论列表(0条)

    保存