3.JAVA之GUI编程Frame窗口
创建图形化界面思路:
1.创建frame窗体;
2.对窗体进行基本设置;
比如大小、位置、布局
3.定义组件;
4.将组件通过add方法添加到窗体中;
5.让窗体显示,通过setVisible(ture)。
------------------------------
新建一个class类,名称为:studyframe
功能实现如下几点:
1.建立一个窗口;
2.窗口有标题;
3.窗口大小设置;
4.窗口位置设置;
5.窗口可见。
代码如下:
import java.awt.Frame;
class studyframe {
public static void main(String[] args) {
Frame f = new Frame();//构造一个最初不可见的 Frame 新实例()。
f.setTitle("窗口——by星云");//设置窗口标题内容
f.setSize(500, 400);//设置窗口大小,宽度500,高度400
f.setLocation(300, 200);//设置窗口位置为距离屏幕左边水平方向300,上方垂直方向200
f.setVisible(true);//设置窗体可见。
}
}
注意:(由于本篇还没有讲到事件监听器,所以本篇中窗体是无法直接关闭的。
想要关闭必须通过进程管理器结束进程方式关掉。)
运行效果如下:

上面代码也可以这么写:
import java.awt.Frame;
class studyframe {
public static void main(String[] args) {
Frame f = new Frame("窗口——by星云");// 构造一个新的、最初不可见的、具有指定标题的 Frame 对象。
f.setSize(500, 400);//设置窗口大小,宽度500,高度400
f.setLocation(300, 200);//设置窗口位置为距离屏幕左边水平方向300,上方垂直方向200
f.setVisible(true);//设置窗体可见。
}
}
******************************
功能实现如下几点:
1.建立一个窗口;
2.窗口有标题;
3.窗口大小设置;
4.窗口位置设置;
5.窗口可见。
6.添加一个带有文字标签的按钮;
import java.awt.Button;
import java.awt.Frame; class studyframe {
public static void main(String[] args) {
Frame f = new Frame();//构造一个最初不可见的 Frame 新实例()。
f.setTitle("窗口——by星云");//设置窗口标题内容
f.setSize(500, 400);//设置窗口大小,宽度500,高度400
f.setLocation(300, 200);//设置窗口位置为距离屏幕左边水平方向300,上方垂直方向200
f.setVisible(true);//设置窗体可见。
Button b=new Button("我是一个按钮");//在窗口中添加一个按钮;
f.add(b);//将按钮添加到窗口内;
} }
运行效果如下:


******************************
上面这样肯定不好看,我们对其设置下布局方式来进行优化下。
功能实现如下几点:
1.建立一个窗口;
2.窗口有标题;
3.窗口大小设置;
4.窗口位置设置;
5.窗口可见。
6.添加一个带有文字标签的按钮;
7.窗体设置布局方式。
import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame; class studyframe {
public static void main(String[] args) {
Frame f = new Frame();//构造一个最初不可见的 Frame 新实例()。 f.setTitle("窗口——by星云");//设置窗口标题内容
f.setSize(500, 400);//设置窗口大小,宽度500,高度400
f.setLocation(300, 200);//设置窗口位置为距离屏幕左边水平方向300,上方垂直方向200
f.setVisible(true);//设置窗体可见。
f.setLayout(new FlowLayout());//设置窗体布局为流式布局。 Button b=new Button("我是一个按钮");//在窗口中添加一个按钮;
f.add(b);//将按钮添加到窗口内
} }
运行效果如下:

上面代码也可以这么写,
import java.awt.*;
class studyframe {
public static void main(String[] args) {
Frame f = new Frame();//构造一个最初不可见的 Frame 新实例()。
f.setTitle("窗口——by星云");//设置窗口标题内容
f.setSize(500, 400);//设置窗口大小,宽度500,高度400
f.setLocation(300, 200);//设置窗口位置为距离屏幕左边水平方向300,上方垂直方向200
f.setVisible(true);//设置窗体可见。
f.setLayout(new FlowLayout());//设置窗体布局为流式布局。
Button b=new Button("我是一个按钮");//在窗口中添加一个按钮;
f.add(b);//将按钮添加到窗口内
}
}
参考文献:

Frame 是带有标题和边框的顶层窗口。




Window 对象是一个没有边界和菜单栏的顶层窗口。窗口的默认布局是 BorderLayout。
构造窗口时,它必须拥有窗体、对话框或其他作为其所有者定义的窗口。










此类创建一个标签按钮。

上篇:2.JAVA之GUI编程布局 下篇:4.JAVA之GUI编程事件监听机制
3.JAVA之GUI编程Frame窗口的更多相关文章
- 2.JAVA之GUI编程布局
布局管理器 容器中的组件排放方式,就是布局 常见的布局管理器: **************************************************** 1.FlowLayout(流式 ...
- 4.JAVA之GUI编程事件监听机制
事件监听机制的特点: 1.事件源 2.事件 3.监听器 4.事件处理 事件源:就是awt包或者swing包中的那些图形用户界面组件.(如:按钮) 事件:每一个事件源都有自己特点有的对应事件和共性事件. ...
- 5.JAVA之GUI编程窗体事件
我们回顾下第三篇时的内容: 在3.JAVA之GUI编程Frame窗口中窗体是无法直接关闭的,想要关闭须进程管理器结束进程方式关掉. 现在我们就来解决下这个问题. ******************* ...
- 6.JAVA之GUI编程Action事件
功能:单击一个按钮实现关闭窗口: import java.awt.*; import java.awt.event.*; public class StudyAction { // 定义该图形所需的组 ...
- 7.JAVA之GUI编程鼠标事件
鼠标事件: 功能: 1.基本窗体功能实现 2.鼠标移动监听,当鼠标移动到按钮上时,触发打印事件. 3.按钮活动监听,当按钮活动时,触发打印事件. 4.按钮被单击时触发打印事件. 源码如下: impor ...
- 8.JAVA之GUI编程键盘码查询器
程序使用说明: 1.本程序由于是java代码编写,所以运行需安装jdk并配置好环境变量. 2. 复制java代码到记事本内,另存为Keyboard_events.java: 3.复制批处理代码到记事本 ...
- 13.JAVA之GUI编程将程序打包jar
jar基本命令: 目标:将下列MyMenuDemo.java代码打包成jar. 方法如下: 1.把java代码放到d:\myclass目录下. 2.按下快捷键ctrl+r,打开运行窗口,输入cmd后回 ...
- Java之GUI编程(一)
GUI全称Graphical User Interfaces,意为图形用户户界面,又称为图形用户接口.GUI指的就是採用图形方式显示的计算机操作用户界面,打个例如吧.我们点击QQ图标,就会弹出一个QQ ...
- java基础—GUI编程(一)
一.AWT介绍
随机推荐
- C语言 · 数位分离
问题描述 编写一个程序,输入一个1000 以内的正整数,然后把这个整数的每一位数字都分离出来,并逐一地显示. 输入格式:输入只有一行,即一个1000以内的正整数. 输出格式:输出只有一行,即该整数的每 ...
- 深究标准IO的缓存
前言 在最近看了APUE的标准IO部分之后感觉对标准IO的缓存太模糊,没有搞明白,APUE中关于缓存的部分一笔带过,没有深究缓存的实现原理,这样一本被吹上天的书为什么不讲透彻呢?今天早上爬起来赶紧找了 ...
- P2V之后的磁盘扩容新思路
背景: 原先的物理机环境多是若干块物理磁盘经过RAID卡进行了RAID5之后的虚拟磁盘组,这样我们在操作系统内看到的也就是一块完整的磁盘.我们会在上面进行分区,然后格式化后以便使用. Figure 1 ...
- JAVA程序员常用软件整理下载
********为了大家学习方便,特意整理软件下载如下:*************Java类软件:-------------------------------JDK7.0:http://pan.ba ...
- kali linux下的arp攻击
这是我第一篇博客,写的不好请谅解 ____________________________(分割线)_______________________________ 在kali linux系统下自带工具 ...
- python-time 模块
1.时间戳是以秒为单位的浮点小数,时间戳以自1970年1月1日午夜到现在经过了的时间来表示 2.时间模块引入方式:import time 3.返回时间戳 time.time() 4.返回时间元组:ti ...
- Firefox开发者专版浏览器,Web开发者利器.
2015的11月9日,Firefox迎来了自己的十周岁生日.在庆祝Firefox十周年之际,Mozilla发布了Firefox开发者专版,这是首款专门为开发者打造的浏览器. 浏览器中独特的暗色调设计. ...
- Xamarin. Android实现下拉刷新功能
PS:发现文章被其他网站或者博客抓取后发表为原创了,给图片加了个水印 下拉刷新功能在安卓和iOS中非常常见,一般实现这样的功能都是直接使用第三方的库,网上能找到很多这样的开源库.然而在Xamarin. ...
- MVVM大比拼之AngularJS源码精析
MVVM大比拼之AngularJS源码精析 简介 AngularJS的学习资源已经非常非常多了,AngularJS基础请直接看官网文档.这里推荐几个深度学习的资料: AngularJS学习笔记 作者: ...
- Vim新手入门资料和一些Vim实用小技巧
一些网络上质量较高的Vim资料 从我07年接触Vim以来,已经过去了8个年头,期间看过很多的Vim文章,我自己觉得非常不错,而且创作时间也比较近的文章有如下这些. Vim入门 目前为阿里巴巴高级技术专 ...