JAVA Swing JFrame窗口的建立
2017-04-04 10:52
246 查看
废话不多说,直接上代码
运行结果:
![](http://img.blog.csdn.net/20170404104205567?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWl3ZW55b3Vjb2Q=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
讲解一下:
前两行有个awt和swing:
AWT 是Abstract Window ToolKit (抽象窗口工具包)的缩写,这个工具包提供了一套与本地图形界面进行交互的接口。AWT 中的图形函数与操作系统所提供的图形函数之间有着一一对应的关系,我们把它称为peers。 也就是说,当我们利用 AWT 来构件图形用户界面的时候,我们实际上是在利用操作系统所提供的图形库。由于不同操作系统的图形库所提供的功能是不一样的,在一个平台上存在的功能在另外一个平台上则可能不存在。为了实现Java语言所宣称的”一次编译,到处运行”的概念,AWT 不得不通过牺牲功能来实现其平台无关性,也就是说,AWT 所提供的图形功能是各种通用型操作系统所提供的图形功能的交集。由于AWT 是依靠本地方法来实现其功能的,我们通常把AWT控件称为重量级控件。
Swing 是在AWT的基础上构建的一套新的图形界面系统,它提供了AWT 所能够提供的所有功能,并且用纯粹的Java代码对AWT 的功能进行了大幅度的扩充。例如说并不是所有的操作系统都提供了对树形控件的支持, Swing 利用了AWT 中所提供的基本作图方法对树形控件进行模拟。由于 Swing 控件是用100%的Java代码来实现的,因此在一个平台上设计的树形控件可以在其他平台上使用。由于在Swing 中没有使用本地方法来实现图形功能,我们通常把Swing控件称为轻量级控件。
AWT和Swing之间的基本区别:AWT 是基于本地方法的C/C++程序,其运行速度比较快;Swing是基于AWT 的Java程序,其运行速度比较慢。对于一个嵌入式应用来说,目标平台的硬件资源往往非常有限,而应用程序的运行速度又是项目中至关重要的因素。在这种矛盾的情况下,简单而高效的AWT 当然成了嵌入式Java的第一选择。而在普通的基于PC或者是工作站的标准Java应用中,硬件资源对应用程序所造成的限制往往不是项目中的关键因素,所以在标准版的Java中则提倡使用Swing, 也就是通过牺牲速度来实现应用程序的功能。
JFrame窗体是一个容器,它是Swing程序中各个组件的载体,可以将JFrame看做是承载这些Swing组件的容器。
这句中有一个JLabel,JLabel是一个标签,代表Swing中的标签组件。
这句则是将jl(标签)添加到容器中,将组件添加到容器中一般都用这句。
第一句是调整窗口是否可见,是布尔变量(1或0)。
第二句是调整窗口大小,分别是宽和高。
最终在主方法中调用。
import java.awt.*; import javax.swing.*; public class Example1 extends JFrame { // 定义一个类继承JFrame类 public void CreateJFrame(String title) { // 定义一个CreateJFrame()方法 JFrame jf = new JFrame(title); // 实例化一个JFrame对象 Container container = jf.getContentPane(); // 获取一个容器 JLabel jl=new JLabel("这是一个Jframe窗体"); jl.setHorizontalAlignment(SwingConstants.CENTER); container.add(jl); container.setBackground(Color.white);//设置容器的背景颜色 jf.setVisible(true); // 使窗体可视 jf.setSize(200, 150); // 设置窗体大小 // 设置窗体关闭方式 jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); } public static void main(String args[]){//在主方法中调用createJFrame()方法 new Example1().CreateJFrame("创建一个JFrame窗体"); } }
运行结果:
讲解一下:
前两行有个awt和swing:
AWT 是Abstract Window ToolKit (抽象窗口工具包)的缩写,这个工具包提供了一套与本地图形界面进行交互的接口。AWT 中的图形函数与操作系统所提供的图形函数之间有着一一对应的关系,我们把它称为peers。 也就是说,当我们利用 AWT 来构件图形用户界面的时候,我们实际上是在利用操作系统所提供的图形库。由于不同操作系统的图形库所提供的功能是不一样的,在一个平台上存在的功能在另外一个平台上则可能不存在。为了实现Java语言所宣称的”一次编译,到处运行”的概念,AWT 不得不通过牺牲功能来实现其平台无关性,也就是说,AWT 所提供的图形功能是各种通用型操作系统所提供的图形功能的交集。由于AWT 是依靠本地方法来实现其功能的,我们通常把AWT控件称为重量级控件。
Swing 是在AWT的基础上构建的一套新的图形界面系统,它提供了AWT 所能够提供的所有功能,并且用纯粹的Java代码对AWT 的功能进行了大幅度的扩充。例如说并不是所有的操作系统都提供了对树形控件的支持, Swing 利用了AWT 中所提供的基本作图方法对树形控件进行模拟。由于 Swing 控件是用100%的Java代码来实现的,因此在一个平台上设计的树形控件可以在其他平台上使用。由于在Swing 中没有使用本地方法来实现图形功能,我们通常把Swing控件称为轻量级控件。
AWT和Swing之间的基本区别:AWT 是基于本地方法的C/C++程序,其运行速度比较快;Swing是基于AWT 的Java程序,其运行速度比较慢。对于一个嵌入式应用来说,目标平台的硬件资源往往非常有限,而应用程序的运行速度又是项目中至关重要的因素。在这种矛盾的情况下,简单而高效的AWT 当然成了嵌入式Java的第一选择。而在普通的基于PC或者是工作站的标准Java应用中,硬件资源对应用程序所造成的限制往往不是项目中的关键因素,所以在标准版的Java中则提倡使用Swing, 也就是通过牺牲速度来实现应用程序的功能。
JFrame窗体是一个容器,它是Swing程序中各个组件的载体,可以将JFrame看做是承载这些Swing组件的容器。
JLabel jl=new JLabel("这是一个Jframe窗体");
这句中有一个JLabel,JLabel是一个标签,代表Swing中的标签组件。
container.add(jl);
这句则是将jl(标签)添加到容器中,将组件添加到容器中一般都用这句。
setVisible(boolean arg0); setSize(int width,int height);
第一句是调整窗口是否可见,是布尔变量(1或0)。
第二句是调整窗口大小,分别是宽和高。
最终在主方法中调用。
相关文章推荐
- java swing: JFrame 父子窗口之间如何传值
- JAVA学习笔记swing JFrame窗口学习
- JavaSwing_4.1: JFrame(窗口)
- java swing中点击按钮后弹出JFrame窗口,关闭弹出的窗口,程序都关了的解决方案
- Java中Swing编程JFrame窗口的使用
- Java笔记(10)-图形界面设计、Swing、窗口、JFrame、常用组件和布局、处理事件、MVC结构、对话框、GUI
- java swing: JFrame 父子窗口之间如何传值
- java swing 几种给JFrame窗口设置图标的方法
- JAVA swing.JFrame 的屏幕居中代码
- JAVA--第十周实验--编写一个JFrame,标题为“计算的窗口”,在该窗口中组件的布局是FlowLayout
- java swing打开子窗口后主窗口还用
- 小demo, java swing窗口编程(JDK 1.6) (二)
- 小demo, java swing窗口编程(JDK 1.6)
- Java 窗口(JFrame/Frame)初始最大化
- java--第十周--任务二 编写一个JFrame,在该窗口中组件的布局是FlowLayout。窗口中添加两个文本区,当我们在一个文本区中输入若干个数时,另一个文本区同时对输入的数进行
- java swing 弹出对话框与父窗口传值实例
- swing中如何实现JFrame为模态窗口
- JAVA--编写一个JFrame,标题为“计算的窗口”,在该窗口中组件的布局是FlowLayout。窗口中添加两个文本区,当我们在一个文本区中输入若干个数时,另一个文本区同时对输入的数进行求和运算并求
- Java 窗口(JFrame/Frame)居中
- java swing 怎样添加背景图片并且能根据窗口大小进行缩放