GUI初步和frame&panel
java的话这个GUI其实不是什么重点,但我们也要学习,重点是学习这种图形编程的思路。

java里面对于图形的一些类都封装在了AWT和它的一些子包里。AWT(抽象窗口开发包) 当然AWT是比较旧的开发包,新的叫swing,
所有可以显示出来的元素都叫component,然后下面那些什么Button,lable都是它的子类。,这里有个比较特殊的子类,container,在图形里面,container是用来容纳其他component的元素。然后这个container又分两种,一种是windows,它是可以独立显示的,哎就是我们平时的应用窗口,panel它也是容器,但它不可以独立显示。
windows又分两种,一种是frame,就是我们平时的应用窗口,一种是dialog,对话框,就是那种框你不关闭掉它其他程序内容你无法操作。

下面看frame

一些很容易理解的方法:

*********基本窗口显示*********:
import java.awt.*; public class TestFrame {
public static void main(String[] args) {
Frame f = new Frame("My first windows!!");//传进来的这个参数就是设置在titlebar的文字。
f.setSize(1000,1000);//大小
f.setBackground(Color.blue);//设置背景颜色
f.setLocation(485,10);//设它在屏幕上的位置(类比像素那什么1080*888)
//f.setResizable(false);//设置窗口可不可以调节大小
f.setVisible(true);//Frame f = new Frame()这句话只是说建立了这个窗口对象,想要看得到还有用这个方法。
}
}
显示多个不同的窗口
import java.awt.*;
public class TestMultiFrame {
public static void main(String[] args) {
MyFrame myFrame1 = new MyFrame(100,100,200,200,Color.BLUE);
MyFrame myFrame2 = new MyFrame(300,100,200,200,Color.YELLOW);
MyFrame myFrame3 = new MyFrame(100,300,200,200,Color.GREEN);
MyFrame myFrame4 = new MyFrame(300,300,200,200,Color.WHITE);
}
}
class MyFrame extends Frame {
static int id = 0;
MyFrame(int x , int y , int w , int h , Color color) {
super("MyName"+id);//调用父类的构造方法,即取名字那个
setBackground(color);
setLayout(null);//把自己的布局管理器设为空,以后会讲,现在先照抄
setBounds(x,y,w,h);
setVisible(true);
}
}
现在到panel:

import java.awt.*;
public class TestPanel1 {
public static void main(String[] args) {
Frame f = new Frame("Java with Panel");
Panel p = new Panel(null);
f.setLayout(null);
f.setBounds(300,300,500,500);
f.setBackground(new Color(0,0,100));
p.setBounds(50,50,400,400);//这里的50,50的位置不是根据屏幕坐标来的,而是根据它所在的frame来的
p.setBackground(new Color(204,204,255));
f.add(p);
f.setVisible(true);
}
}
import java.awt.*;
public class TestMultiPanel {
public static void main(String[] args) {
MyFrame2 f2 = new MyFrame2("MyFrame with panel",300,300,400,300);
}
}
class MyFrame2 extends Frame {
private Panel p1,p2,p3,p4;
MyFrame2(String s,int x,int y,int w,int h) {
super(s);
setLayout(null);
p1 = new Panel(null);//代表panel不带自己的布局管理器
p2 = new Panel(null);
p3 = new Panel(null);
p4 = new Panel(null);
p1.setBounds(0,0,w/2,h/2);
p2.setBounds(0,h/2,w/2,h/2);
p3.setBounds(w/2,0,w/2,h/2);
p4.setBounds(w/2,h/2,w/2,h/2);
p1.setBackground(Color.BLUE);
p2.setBackground(Color.GREEN);
p3.setBackground(Color.YELLOW);
p4.setBackground(Color.WHITE);
add(p1);//调用父类的方法
add(p2);
add(p3);
add(p4);
setBounds(x,y,w,h);
setVisible(true);
}
}
GUI初步和frame&panel的更多相关文章
- JAVA之旅(三十一)——JAVA的图形化界面,GUI布局,Frame,GUI事件监听机制,Action事件,鼠标事件
JAVA之旅(三十一)--JAVA的图形化界面,GUI布局,Frame,GUI事件监听机制,Action事件,鼠标事件 有段时间没有更新JAVA了,我们今天来说一下JAVA中的图形化界面,也就是GUI ...
- 第34天学习打卡(GUI编程之组件和容器 frame panel 布局管理 事件监听 多个按钮共享一个事件 )
GUI编程 组件 窗口 弹窗 面板 文本框 列表框 按钮 图片 监听事件 鼠标 键盘事件 破解工具 1 简介 GUi的核心技术:Swing AWT 1.界面不美观 2.需要jre环境 为什么要学习GU ...
- GUI概述与Frame演示
java 图形化界面的对象存在这两个包中: java.awt :Abstract WindowsToolkit(抽象窗口工具包)需要调用本地系统方法实现功能,属重量级控件 javax.swing:在a ...
- python GUI初步
- Java基础--Java---IO流------GUI(布局)、Frame、事件监听机制、窗体事件、Action事件、鼠标事件、对话框Dialog、键盘事件、菜单
* 创建图形化界面 * 1.创建frame窗体 * 2.对窗体进行基本设置 * 比如大小.位置.布局 * 3.定义组件 * 4.将组件通过窗体的add方法添加到窗体 * 5.让窗体显 ...
- GUI容器之Frame
Frame public class MyFrame { public static void main(String[] args) { //创建一个Frame对象 Frame frame = ne ...
- java gui 之容器组件
演示Frame和Panel package unit7; import java.awt.*; public class SimpleFrame { public static void main(S ...
- Java程序设计11——GUI设计与事件处理A
1.GUI设计 Java使用AWT和Swing类完成图形用户界面编程,AWT全称是Abstract Window Toolkit,即抽象窗口工具集,它是Sun最早提供的GUI库,只是这个库功能比较有限 ...
- Java笔记 - GUI编程
一.图形界面开发 1.AWT开发 AWT(Abstract Window Toolkit)在Windows.Linux提供的图形窗口之上,再次进行了抽象,为不同语言开发的程序提供统一定义的图形接口,可 ...
随机推荐
- Vs2013在Linux开发中的应用(19): 启动gdb
快乐虾 http://blog.csdn.net/lights_joy/ 欢迎转载,但请保留作者信息 1.1 载入调试引擎 因为我们无法干预VC的调试引擎载入.但能够侦听VC的调试引擎载入事件, ...
- vue Iframe
1.Iframe.vue <!-- Iframe --> <template> <div> <!-- 标题栏 --> <mt-header tit ...
- vs2010中设置qt环境的智能识别方案
Qt搭建请参考:Win7系统VS2010下搭建qt开发环境 搭建好之后,虽然可以编译过去,但是写代码时,编辑器无法识别,也没有智能提示,并且代码中都是红色的提示如下: 此时需要设置一下include路 ...
- 借助ltp 逐步程序化实现规则库 文本生成引擎基于规则库和业务词库 去生成文本
[哪个地方做什么的哪家靠谱?地名词库行业.业务词库]苏州做网络推广的公司哪家靠谱?苏州镭射机维修哪家最专业?昆山做账的公司哪家比较好广州称重灌装机生产厂家哪家口碑比较好 [含有专家知识]郑州律师哪个好 ...
- js数组清空和去重
1.splice var ary = [1,2,3,4]; ary.splice(0,ary.length); console.log(ary); // 输出 Array[0],空数组,即被清空了 2 ...
- 设计模式-(18)命令模式 (swift版)
一,概念: 在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”.但在某些场合,比如要对行为进行“记录.撤销/重做.事务”等处理,这种无法抵御变化的紧耦合是不合适的.在这种情况下,如何将 ...
- java语法基础(三)
类和对象 面向对象语言概述 java是一种面向对象的语言,什么是面向对象的语言? 要搞清楚什么是面向对象语言,我们需要相对的了解一下面向过程的语言. java入门阶段,我们又给大家说过一些语言的分类, ...
- 设计模式-(9)中介者模式(swift)
在对象去耦合的模式中,有两种模式:中介者模式,观察者模式 一,概念 用一个中介对象来封装一系列的对象交互.中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互. 这个 ...
- 初识JVM虚拟机
前言: Java语言里负责解释执行字节码文件的是Java虚拟机,即JVM——Java Virtual Machine(Java虚拟机). 执行Java程序的两个步骤: 由Java语言编写的程序需要进过 ...
- GridView认识(一)
GridView认识(一)导读:一.显示数据 a.通过代码绑定显示数据 b.通过数据源控件绑定显示数据 二.外观控制 a.整体外观控制 b.列表行的控制 c.列表列的控制 内容:一.显示数据(一)代码 ...