关于java:我所知道坦克大战单机版之Client窗口的创建关闭禁止调整大小

37次阅读

共计 1283 个字符,预计需要花费 4 分钟才能阅读完成。

前言需要


本篇文章开始依据尚学堂马士兵老师的教学视频:坦克大战,进行开展学习

本篇文章目标

  • 产生窗口
  • 增加不容许挪动窗口大小的解决
  • 增加敞开窗口的事件处理

一、创立窗口

创立 TankClient 类,并应用继承 Frame 类的形式,应用相干办法

public class TankClient extends Frame {

    // 定义窗口办法
    public void lauchFrame(){
        // 设置窗口呈现的地位
        this.setLocation(400,300);
        // 设置窗口的宽度高度
        this.setSize(800,600);
        setVisible(true);
    }

}

接下来运行 main 办法

public static void main(String[] args) {TankClient client = new TankClient();
    // 关上窗口
    client.lauchFrame();}

二、增加不容许挪动窗口大小的解决

运行后发现窗口能够挪动调整大小,这样缩放窗口大小会影响很大

所以咱们要增加不容许挪动窗口的事件处理

// 定义窗口办法
public void lauchFrame(){
    // 设置窗口呈现的地位
    this.setLocation(400,300);
    // 设置窗口的宽度高度
    this.setSize(800,600);
    setVisible(true);
    // 不容许随便调整窗口大小的形式
    this.setResizable(false);
}

public void setResizable(boolean resizable)

设置此窗体是否可由用户调整大小。

参数为 boolean 类型:

resizeable 值为 true 时,示意生成的窗体能够自在扭转大小;

resizeable 值为 false 时,示意生成的窗体大小是由程序员决定的,用户不能够自在扭转该窗体的大小

三、增加敞开窗口事件处理

// 定义窗口办法
public void lauchFrame(){
    // 设置窗口呈现的地位
    this.setLocation(400,300);
    // 设置窗口的宽度高度
    this.setSize(800,600);
    setVisible(true);
    // 采纳匿名类的形式敞开窗口
    this.addWindowListener(new WindowAdapter() {
        @Override
        public void windowClosing(WindowEvent e) {
            // 失常解决示意失常退出
            System.exit(0);
        }
    });
    // 不容许随便调整窗口大小的形式
    this.setResizable(false);
}

这个是示意在窗口增加一个 Windows 事件音讯,目标是咱们敞开窗口的时候能够失常的退出,其实这段语句等价于

frame.setDefaultCloseOptration(JFrame.EXIT_ON_CLOSE);

在语句中 new WindowAdapter 示意新的创立 WindowAdapter 的对象

两头是对一个函数也就是 windows 窗口敞开函数进行重写

接下来,咱们就能够运行发现无奈批改窗口大小,也能够失常敞开了

参考资料


尚学堂:坦克大战(马士兵老师)

正文完
 0