Java示例学习

示例来源: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();

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值