/**
* 窗体类
*/
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. 一起学习PHP中GD库的使用(一)

    又到了一个大家非常熟悉的库了,对于图像图形的处理来说,GD 库是 PHPer 们绕不过去的一道坎.从很早很早的 CMS 或者 Discuz 时代,各类开源软件在安装的时候就会明确地指出 GD 库是它们 ...

  2. python从网络摄像头获取rstp视频流并截取图片保存

    import cv2 def get_img_from_camera_net(folder_path):     cap = cv2.VideoCapture("rtsp://admin:a ...

  3. P6122-[NEERC2016]Mole Tunnels【模拟费用流】

    正题 题目链接:https://www.luogu.com.cn/problem/P6122 题目大意 给出\(n\)个点的一棵满二叉树,每个点有容量\(c_i\),\(m\)次从\(p_i\)处加一 ...

  4. Git 管理工具 基本用法

    git管理工具基本操作命令: 1. 提交 git push origin dev 2.拉取分支: git pull 3.创建并转换分支: git switch -c dev; 4.直接切换到已有分支: ...

  5. Kubernetes集群(RKE)安装ArgoCD排坑

    Photo by Pixabay from Pexels Argo CD是一个声明式的,基于Kubernetes的GitOps持续交付工具.更多的细节参考 ArgoCD官网 的说明,这里记录了一些实践 ...

  6. B站视频:【Creator3】好玩的编队代码 魔性排列停不下来 附源码及出处

    这次带来一个有趣的编队代码,简单的算法得到令人惊叹的编队队形,叹为观止,前几天刷视频的时候看到一个有趣的展示,来自youtube大神:Tarodev的队形计算展示< Fun with Forma ...

  7. 洛谷 P7541 DOBRA 题解

    hhh... 我又来写题解了 solution 题意简化 一个字符串,将所有的 _ 替换成大写字母,使结果字符串符合要求: 1.不包含三个连续 元音 或 辅音 字母: 2.字符串中至少有一个 L . ...

  8. Xcode相关

    Xcode相关的路径 Provisioning Profiles存放路径:~/Library/MobileDevice/Provisioning Profiles 所有模拟器(包括历史模拟器):~/L ...

  9. tomcat启动程序报错

    1.问题 23-Apr-2021 10:53:38.897 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.de ...

  10. opencv中的exp32f函数

    exp32f opencv的exp函数和cmath的exp函数在精度上存在一定差异,通过查找源码,发现了这么一段实现.代码如下: 点击查看代码 #define EXPTAB_SCALE 6 #defi ...