/**
* 窗体类
*/
public class Main {
public static void main(String[] args) {
MyFrame m1 = new MyFrame(); }
} class MyFrame extends Frame{
public MyFrame(){
this.setTitle("My first software");
this.setSize(300,200);
this.setBackground(Color.yellow);
this.setResizable(false); //不允许调整窗体大小
this.setLocation(300,300);
this.setLayout(new FlowLayout()); //把窗体的默认布局设成"流水布局" //在窗体上添加按钮
Button b1 = new Button("click me.1");
this.add(b1);
this.add(new Button("click me.2")); this.setVisible(true);
}
}
/**
* Panel类(面板类),组件容器
*/
public class Main {
public static void main(String[] args) {
MyPanel m1 = new MyPanel();
}
} class MyPanel extends Frame{
public MyPanel(){
this.setTitle("My first software");
this.setSize(600,400);
this.setBackground(Color.yellow);
this.setResizable(false); //不允许调整窗体大小
this.setLocation(300,300);
this.setLayout(new FlowLayout()); //把窗体的默认布局设成"流水布局"
addPanel();
this.setVisible(true);
}
public void addPanel(){ //Panel的布局默认是"流水布局"
Panel p1 = new Panel(); //创建面板对象
p1.setBackground(Color.GREEN);
p1.add(new Button("click me.1"));
p1.add(new Button("click me.2"));
p1.add(new Button("click me.3"));
this.add(p1); //把面板添加到窗体上
}
}
/**
* Toolkit类:用于将各种组件绑定到本地系统的工具包。
*/
public class Main {
public static void main(String[] args) {
MyToolkit m1 = new MyToolkit();
}
} class MyToolkit extends Frame{
public MyToolkit(){
this.setTitle("My first software");
this.setSize(600,400);
this.setBackground(Color.yellow); Toolkit t1 = Toolkit.getDefaultToolkit(); //获取工具对象
Dimension d1 = t1.getScreenSize(); //获取当前屏幕的尺寸
double w = d1.getWidth();
double h = d1.getHeight();
int x = (int)(w/2);
int y = (int)(h/2);
this.setLocation(x-300,y-200); //设置窗体图标 (新建一个包,把图片放进去)
URL url = this.getClass().getClassLoader().getResource("pkg1/image/fish.jpg"); //写成pkg1.image.fish.jpg不可以
Image ima1 = t1.getImage(url);
this.setIconImage(ima1); this.setResizable(false); //不允许调整窗体大小
this.setLayout(new FlowLayout()); //把窗体的默认布局设成"流水布局" this.setVisible(true);
}
}

JAVA笔记__窗体类/Panel类/Toolkit类的更多相关文章

  1. JAVA笔记10-抽象类

    (1)abstrac关键字类修饰的类是抽象类,用abstract修饰的方法是抽象方法: (2)含有抽象方法的类必须被定义为抽象类: (3)抽象类必须被继承,抽象方法必须被重写(或者将子类也声明为抽象类 ...

  2. Java笔记---枚举类和注解

    Java笔记---枚举类和注解 一.枚举类 自定义枚举类 方式一:JDK5.0之前自定义枚举类 class Seasons { //1. 声明Seasons对象的属性 private final St ...

  3. Java基础进阶:多态与接口重点摘要,类和接口,接口特点,接口详解,多态详解,多态中的成员访问特点,多态的好处和弊端,多态的转型,多态存在的问题,附重难点,代码实现源码,课堂笔记,课后扩展及答案

    多态与接口重点摘要 接口特点: 接口用interface修饰 interface 接口名{} 类实现接口用implements表示 class 类名 implements接口名{} 接口不能实例化,可 ...

  4. Effective java笔记(三),类与接口

    类与接口是Java语言的核心,设计出更加有用.健壮和灵活的类与接口很重要. 13.使类和成员的可访问性最小化 设计良好的模块会隐藏起所有的实现细节,仅使用API与其他模块进行通信.这个概念称为信息隐藏 ...

  5. java笔记--超级类Object多线程的应用+哲学家进餐算法内部类与多线程结合

    关于Object类中的线程方法: Object类是所有Java类的 父类,在该类中定义了三个与线程操作有关的方法,使得所有的Java类在创建之后就支持多线程 这三个方法是:notify(),notif ...

  6. Java笔记(二十四)……集合工具类Collections&Arrays

    Collections 集合框架的工具类,方法全部为静态 Collections与Collection的区别 Collection是集合框架的一个顶层接口,里面定义了单列集合的共性方法 Collect ...

  7. Java笔记:String类

    1.String类是不可变类,一旦一个String对象被创建以后,包含在这个对象中的字符序列式不可改变的,直至这个对象被销毁. String s1 = "java"; s1 = s ...

  8. Java笔记:枚举类

    1.一个类的实例是有限且固定的,这个类称为枚举类.比如季节类,只有四个对象(春.夏.秋.冬) 2.手动实现一个枚举类(1)通过private将构造器隐藏起来(2)把这个类的所有可能实例都使用priva ...

  9. Java笔记(二)类

    类 一.类的基础 1.类---一种自定义数据类型. 2.与方法内创建局部变量不同,在创建对象的时候,所有的实例变量都会分配 一个默认值,这与创建数组的时候是类似的. 3.在{}对实例变量内赋值: in ...

随机推荐

  1. POJ1804——Brainman(水题)

    解题思路: 一个乱序序列的 逆序数 = 在只允许相邻两个元素交换的条件下,得到有序序列的交换次数 直接求逆序数 把S[i]和s[i+1~n]的元素逐个比较,如果s[i] > s[k] (k∈[i ...

  2. [Python]爬虫获取知乎某个问题下所有图片并去除水印

    获取URL 进入某个知乎问题的主页下,按F12打开开发者工具后查看network面板. network面板可以查看页面向服务器请求的资源.资源的大小.加载资源花费的时间以及哪些资源加载失败等信息.还可 ...

  3. 手机UI自动化之显示点触位置(触摸轨迹)

    上期回顾:Airtest源码分析--Android屏幕截图方式 不管是用Appium还是Airtest,或是其他手机UI自动化工具,你是不是经常遇到这种情况,代码明明执行了click或swipe,怎么 ...

  4. Shell系列(11)- 位置参数变量(4)

    作用 往shell脚本里面传递参数 位置参数变量 作用 $n n 为数字,$0 代表命令本身,$1-$9 代表第一到第九个参数,十以上的参数需要用大括号包含,如 ${10} $* 这个变量代表命令行中 ...

  5. requests接口自动化-assert断言

    断言,自动判断接口返回的结果与预期结果是否一致 from common.get_mysql import * def test_assert(): a=0 b=1 # assert a,'断言失败打印 ...

  6. python并发与futures模块

    非并发程序(用于对比) 从网上下载20个国家的国旗图像: import os import time import sys import requests # 导入requests库 POP20_CC ...

  7. 压测中的QPS与TPS区别

    原文来自:https://www.cnblogs.com/fkkk/p/11957566.html QPS(每秒查询率)=并发数/平均响应时间 TPS(每秒处理事务数)=请求数/时间(秒) TPS的过 ...

  8. 字体图标Icon Font

    字体图标Icon Font 前段时间研究怎样做字体图标,在网上查找诸多资料,诸多尝试,找到一套可以自己制作自己独立控制的制作流程,公司按照这套流程形成一套自己公司图标,本人目前所在公司已经在使用没有发 ...

  9. ServerManager.exe 0xc0000135 应用程序错误(Windows Server 2016、2019)

    前言 将 Windows Server 2019或2016 .NET Framework移除. IIS卸载后,服务器管理器.控制面板部分功能.事件查看器等都无法正常开启. 解决办法 打开CMD,输入D ...

  10. Vulnhub实战-doubletrouble靶机👻

    Vulnhub实战-doubletrouble靶机 靶机下载地址:https://www.vulnhub.com/entry/doubletrouble-1,743/ 下载页面的ova格式文件导入vm ...