Java示例学习

本文提供了一个Java Swing示例,展示如何创建一个居中的窗口并设置其大小和标题。通过使用JFrame类和Dimension对象,实现了窗口在屏幕上的完美居中显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

示例来源:100个Java经典例子

示例10:

import javax.swing.*;
import java.awt.*;

public class Example10 extends JFrame {
    public Example10(String sTitle, int iWidth, int iHeight ) {
        Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
        setTitle(sTitle);
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        setSize(iWidth, iHeight);
        int w = getSize().width;
        int h = getSize().height;
        System.out.println("窗体宽:" + w + ",窗体长:" + h);
        int x = (dim.width - w)/2;
        int y = (dim.height - h)/2;
        setLocation(x, y);
        setVisible(true);
    }
    public static void main(String args[]) {
        JFrame.setDefaultLookAndFeelDecorated(true);
        new Example10("mian Frame Demo", 400, 300);
    }
}


Class JFrame的结构:public class JFrame extends Frame implements WindowsConstants, Accessible, RootPaneContainer。

Class Dimension 的结构:public class Dimension extends Dimension2D implements Serializable。本类封装了单个对象中一个组件的长度和宽度。

一个让我困惑的点在于:setTitle()和setSize()方法都没有对象引用而直接调用的?

首先该类是JFrame的子类,由JFrame的继承关系可以知道setTitle()方法是类Frame中的方法,而setSize()是类Component中的方法,所以本类都可以直接调用。其次在一个对象里面,方法之间是可以互相调用的,这里是构造方法调用普通方法。(我试了一下在方法前面加上this.)

Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();

这句话是获取屏幕尺寸对象,后面的完美居中需要调用该数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值