JAVA笔记__窗体类/Panel类/Toolkit类
/**
* 窗体类
*/
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类的更多相关文章
- JAVA笔记10-抽象类
(1)abstrac关键字类修饰的类是抽象类,用abstract修饰的方法是抽象方法: (2)含有抽象方法的类必须被定义为抽象类: (3)抽象类必须被继承,抽象方法必须被重写(或者将子类也声明为抽象类 ...
- Java笔记---枚举类和注解
Java笔记---枚举类和注解 一.枚举类 自定义枚举类 方式一:JDK5.0之前自定义枚举类 class Seasons { //1. 声明Seasons对象的属性 private final St ...
- Java基础进阶:多态与接口重点摘要,类和接口,接口特点,接口详解,多态详解,多态中的成员访问特点,多态的好处和弊端,多态的转型,多态存在的问题,附重难点,代码实现源码,课堂笔记,课后扩展及答案
多态与接口重点摘要 接口特点: 接口用interface修饰 interface 接口名{} 类实现接口用implements表示 class 类名 implements接口名{} 接口不能实例化,可 ...
- Effective java笔记(三),类与接口
类与接口是Java语言的核心,设计出更加有用.健壮和灵活的类与接口很重要. 13.使类和成员的可访问性最小化 设计良好的模块会隐藏起所有的实现细节,仅使用API与其他模块进行通信.这个概念称为信息隐藏 ...
- java笔记--超级类Object多线程的应用+哲学家进餐算法内部类与多线程结合
关于Object类中的线程方法: Object类是所有Java类的 父类,在该类中定义了三个与线程操作有关的方法,使得所有的Java类在创建之后就支持多线程 这三个方法是:notify(),notif ...
- Java笔记(二十四)……集合工具类Collections&Arrays
Collections 集合框架的工具类,方法全部为静态 Collections与Collection的区别 Collection是集合框架的一个顶层接口,里面定义了单列集合的共性方法 Collect ...
- Java笔记:String类
1.String类是不可变类,一旦一个String对象被创建以后,包含在这个对象中的字符序列式不可改变的,直至这个对象被销毁. String s1 = "java"; s1 = s ...
- Java笔记:枚举类
1.一个类的实例是有限且固定的,这个类称为枚举类.比如季节类,只有四个对象(春.夏.秋.冬) 2.手动实现一个枚举类(1)通过private将构造器隐藏起来(2)把这个类的所有可能实例都使用priva ...
- Java笔记(二)类
类 一.类的基础 1.类---一种自定义数据类型. 2.与方法内创建局部变量不同,在创建对象的时候,所有的实例变量都会分配 一个默认值,这与创建数组的时候是类似的. 3.在{}对实例变量内赋值: in ...
随机推荐
- 一起学习PHP中GD库的使用(一)
又到了一个大家非常熟悉的库了,对于图像图形的处理来说,GD 库是 PHPer 们绕不过去的一道坎.从很早很早的 CMS 或者 Discuz 时代,各类开源软件在安装的时候就会明确地指出 GD 库是它们 ...
- python从网络摄像头获取rstp视频流并截取图片保存
import cv2 def get_img_from_camera_net(folder_path): cap = cv2.VideoCapture("rtsp://admin:a ...
- P6122-[NEERC2016]Mole Tunnels【模拟费用流】
正题 题目链接:https://www.luogu.com.cn/problem/P6122 题目大意 给出\(n\)个点的一棵满二叉树,每个点有容量\(c_i\),\(m\)次从\(p_i\)处加一 ...
- Git 管理工具 基本用法
git管理工具基本操作命令: 1. 提交 git push origin dev 2.拉取分支: git pull 3.创建并转换分支: git switch -c dev; 4.直接切换到已有分支: ...
- Kubernetes集群(RKE)安装ArgoCD排坑
Photo by Pixabay from Pexels Argo CD是一个声明式的,基于Kubernetes的GitOps持续交付工具.更多的细节参考 ArgoCD官网 的说明,这里记录了一些实践 ...
- B站视频:【Creator3】好玩的编队代码 魔性排列停不下来 附源码及出处
这次带来一个有趣的编队代码,简单的算法得到令人惊叹的编队队形,叹为观止,前几天刷视频的时候看到一个有趣的展示,来自youtube大神:Tarodev的队形计算展示< Fun with Forma ...
- 洛谷 P7541 DOBRA 题解
hhh... 我又来写题解了 solution 题意简化 一个字符串,将所有的 _ 替换成大写字母,使结果字符串符合要求: 1.不包含三个连续 元音 或 辅音 字母: 2.字符串中至少有一个 L . ...
- Xcode相关
Xcode相关的路径 Provisioning Profiles存放路径:~/Library/MobileDevice/Provisioning Profiles 所有模拟器(包括历史模拟器):~/L ...
- tomcat启动程序报错
1.问题 23-Apr-2021 10:53:38.897 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.de ...
- opencv中的exp32f函数
exp32f opencv的exp函数和cmath的exp函数在精度上存在一定差异,通过查找源码,发现了这么一段实现.代码如下: 点击查看代码 #define EXPTAB_SCALE 6 #defi ...