`
tuxq5721
  • 浏览: 34674 次
社区版块
存档分类
最新评论

Swing —— 无标题栏时实现窗口移动

阅读更多

在Swing开发过程中,可能有时为了界面外观表现一致风格,需要将系统标题栏装饰取消不显示。在没有标题栏的情况下,应用程序窗体的最小化、最大化、还原、重置大小、窗体移动等则需要自己实现。

下面代码实现了无标题栏时进行窗口移动:

    public class Test {  
            private JFrame f = new JFrame();  
            private int x, y;  
       
            public void init(){  
                    // 设置取消标题栏  
                    f.setUndecorated(true);       
                    f.setSize(200, 200);  
                    f.setVisible(true);  
                    f.addMouseListener(new MouseAdapter() {  
                            public void mousePressed(MouseEvent e) {  
                                    System.out.println("鼠标按下");  
                                    x = e.getX();  
                                    y = e.getY();  
                            }  
                    });  
                    f.addMouseMotionListener(new MouseMotionAdapter() {  
                            public void mouseDragged(MouseEvent e) {  
                                    System.out.println("鼠标拖动");  
                                    int left = f.getLocation().x;  
                                    int top = f.getLocation().y;  
                                    f.setLocation(left + e.getX() - x, top + e.getY() - y);  
                            }  
                    });  
            }  
            public static void main(String[] args) {  
                    new Test().init();  
            }  
    }  

 

 

分享到:
评论

相关推荐

    左面小时钟( MyClock)

    JWindow不同于JFrame,因为它不具有默认的菜单栏或标题栏,这使得它能够更自由地在桌面上移动,符合我们设计可拖动小时钟的需求。 要实现桌面小时钟的功能,我们需要做以下几步: 1. **创建JWindow实例**:首先,...

    Java语言程序设计(一)04747汇总(2016——2017全)推荐文档.doc

    `JWindow`:用于创建没有标准标题栏的窗口。 - B. `JApplet`:主要用于创建可以在Web浏览器中运行的应用程序。 - C. `JFrame`:默认具有标准的标题栏和边框。 - D. `JDialog`:也具有标题栏和边框。 **6. 鼠标...

    用Java实现的泡泡龙游戏

    【标题】"用Java实现的泡泡龙游戏"揭示了这个项目是基于Java编程语言开发的一款经典游戏——泡泡龙。在IT领域,Java以其跨平台、面向对象和强大的库支持而广受欢迎,是开发桌面游戏的一个常见选择。在这个项目中,...

    基于Java实现(GUI)贪吃蛇大作业【100013141】

    【标题】"基于Java实现(GUI)贪吃蛇大作业【100013141】"表明这是一个使用Java编程语言开发的图形用户界面(GUI)项目,主题是实现经典的“贪吃蛇”游戏。贪吃蛇游戏通常是一个简单的2D游戏,玩家控制一条不断增长...

    JAVA课程设计报告记事本程序.doc

    - 设置主窗口的基本属性,如大小、位置、标题等。 - 创建菜单栏和工具栏,绑定相应的事件监听器。 - 初始化文本编辑区,设定默认的文本格式。 3.2 文件管理模块 - 使用FileInputStream和FileOutputStream处理文件...

    基于java的记事本编程

    【标题】"基于Java的记事本编程"指的是利用Java编程语言开发一款具有类似传统图形化记事本功能的应用程序。在计算机科学中,记事本是一个基础的文本编辑器,用户可以用来创建、查看和编辑纯文本文件。Java作为一种跨...

    2021-2022计算机二级等级考试试题及答案No.13378.docx

    它包含了许多内置功能,如标题栏、关闭按钮等,非常适合用于创建独立的应用程序窗口。 #### 知识点10:JavaScript单行注释 - **知识点概述**:JavaScript支持两种类型的注释:单行注释和多行注释。本知识点指出了...

    Simple-Paint:一个简单的“绘制”Java 应用程序,可以绘制直线、圆、椭圆和曲线(贝塞尔曲线和厄米特曲线)

    - **图形用户界面(GUI)设计**:Java Swing或JavaFX库用于创建窗口、按钮、菜单等组件。 - **图形绘制**:Java的`java.awt`和`java.awt.geom`包提供了用于绘制图形的基本API。 - **贝塞尔曲线**:一种参数曲线,...

    2021-2022计算机二级等级考试试题及答案No.13754.docx

    - **详细解析**:在Windows操作系统中,要移动窗口,需要将鼠标光标放置在窗口的标题栏上,然后拖动。 - **相关知识点拓展**: - Windows提供了一系列的操作界面元素,如菜单栏、工具栏、状态栏等。 - 用户可以...

    新版Android开发教程.rar

    � 谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发 既 有用又有吸引力的移动服务,并推广这些产品。 Android 进一步推进了 " 随时随地为每个人提供信息 " 这一企 业 ...

Global site tag (gtag.js) - Google Analytics