1. 首页
  2. Java基础学习总结

java基础学习总结——GUI编程(一)

一、AWT介绍

  uexizongjieguibianchengyi_1.png

  所有的可以显示出来的图形元素都称为Component,Component代表了所有的可见的图形元素,Component里面有一种比较特殊的图形元素叫Container,Container(容器)在图形界面里面是一种可以容纳其它Component元素的一种容器,Container本身也是一种Component的,Container里面也可以容纳别的Container。

  Container里面又分为Window和Pannel,Window是可以独立显示出来的,平时我们看到的各种各样的应用程序的窗口都可以称为Window,Window作为一个应用程序窗口独立显示出来,Pannel也可以容纳其它的图形元素,但一般看不见Pannel,Pannel不能作为应用程序的独立窗口显示出来,Pannel要想显示出来就必须得把自己装入到Window里面才能显示出来。

  Pannel应用比较典型的就是Applet(JAVA的页面小应用程序),现在基本上已经不用了,AJAX和JAVASCRIPT完全取代了它的应用。

  Window本身又可以分为Frame和Dialog,Frame就是我们平时看到的一般的窗口,而Dialog则是那些需要用户进行了某些操作(如点击某个下拉菜单的项)才出现的对话框,这种对话框就是Dialog。

二、组件和容器(Component和Container)

  uexizongjieguibianchengyi_2.png

2.1.Frame

  uexizongjieguibianchengyi_3.png

Frame范例:

   1 package cn.javastudy.summary;
     2 
     3 /**学习JAVA的GUI编程编写的第一个图形界面窗口*/
     4 import java.awt.*;
     5 
     6 public class TestFrame {
     7     public static void main(String args[]) {
     8         Frame f = new Frame("我的第一个JAVA图形界面窗口");
     9         /*
    10          * 这里只是在内存里面创建了一个窗口对象 还不能真正显示出来然我们看到
    11          */
    12         f.setBackground(Color.blue);// 设置窗体的背景颜色
    13         // blue是Color类里面的一个静态常量,可以使用“类名.静态常量名”来访问
    14         f.setVisible(true);// 设置窗体是否可见
    15         /*
    16          * 要想看到在内存里面创建出来的窗口对象, 必须调用setVisble()方法,并且把参数true传入才能看得见窗体 如果传入的参数是false,那么窗体也是看不见的
    17          */
    18         f.setSize(400, 400);// 设置窗体的初始大小
    19         f.setLocation(200, 200);// 设置窗体出现时的位置,如果不设置则默认在左上角(0,0)位置显示
    20         f.setResizable(false);
    21         /*
    22          * 设置窗体能否被改变大小,设置为false后表示不能改变窗体的显示大小 这里将窗体显示的大小设置为200X200,那么窗体的显示只能是这个大小了,不能再使用鼠标拖大或者缩小
    23          */
    24     }
    25 }

运行结果如下:

  uexizongjieguibianchengyi_4.png

   1 package cn.javastudy.summary;
     2 
     3 import java.awt.*;
     4 public class TestMultiFrame{
     5     public static void main(String args[]){
     6         MyFrame f1 = new MyFrame(100,100,200,200,Color.BLUE);
     7         MyFrame f2 = new MyFrame(300,100,200,200,Color.YELLOW);
     8         MyFrame f3 = new MyFrame(100,300,200,200,Color.GREEN);
     9         MyFrame f4 = new MyFrame(300,300,200,200,Color.MAGENTA);
    10     }
    11 }
    12 /*自定义一个类MyFrame,并且从Frame类继承
    13 这样MyFrame类就拥有了Frame类的一切属性和方法
    14 并且MyFrame类还可以自定义属性和方法
    15 因此使用从Frame类继承而来的自定义类来创建图形窗口比直接使用Frame类来创建图形窗口要灵活
    16 所以一般使用从Frame类继承而来的自定义类创建图形窗口界面比较好,
    17 不推荐直接使用Frame类来创建图形窗口界面
    18 */
    19 class MyFrame extends Frame{
    20     static int id = 0;
    21     //定义一个静态成员变量id,用来记录创建出来的窗口的数目
    22     MyFrame(int x,int y,int w,int h,Color color){
    23         //自定义构成方法,在构造方法体内使用super调用父类Frame的构造方法
    24         super("MyFrame"+(++id));
    25         setBackground(color);
    26         /*使用从父类Frame继承而来的方法设置窗体的相关属性*/
    27         setLayout(null);
    28         setBounds(x,y,w,h);
    29         setVisible(true);
    30     }
    31 }

运行结果:

  uexizongjieguibianchengyi_5.png

2.2.Panel

  uexizongjieguibianchengyi_6.png

Panel范例:

   1 package cn.javastudy.summary;
     2 
     3 import java.awt.*;
     4 public class TestPanel{
     5     public static void main(String args[]){
     6         Frame f = new Frame("JAVA Fram With Panel");
     7         Panel p = new Panel(null);
     8         f.setLayout(null);
     9         f.setBounds(300,300,500,500);//这里设置的坐标(300,300)是相对于整个屏幕的
    10         f.setBackground(new Color(0,0,102));//设置背景颜色时使用三基色(红,绿,蓝)的比例来调配背景色
    11         p.setBounds(50,50,400,400);//这里设置的坐标(50,50)是相对于Frame窗体的
    12         p.setBackground(new Color(204,204,255));
    13         f.add(p);//把Panel容器装入到Frame容器中,使其能在Frame窗口中显示出来
    14         f.setVisible(true);
    15     }
    16 }

运行结果如下:

  uexizongjieguibianchengyi_7.png

三、布局管理器

  uexizongjieguibianchengyi_8.png

3.1.第一种布局管理器——FlowLayout

  

作者:孤傲苍狼

来源:https://www.cnblogs.com/xdp-gacl/p/3632279.html


看完两件小事

如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:

  1. 关注我们的 GitHub 博客,让我们成为长期关系
  2. 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
  3. 关注公众号 「方志朋」,公众号后台回复「666」 免费领取我精心整理的进阶资源教程
  4. JS中文网,Javascriptc中文网是中国领先的新一代开发者社区和专业的技术媒体,一个帮助开发者成长的社区,是给开发者用的 Hacker News,技术文章由为你筛选出最优质的干货,其中包括:Android、iOS、前端、后端等方面的内容。目前已经覆盖和服务了超过 300 万开发者,你每天都可以在这里找到技术世界的头条内容。

    本文著作权归作者所有,如若转载,请注明出处

    转载请注明:文章转载自「 Java极客技术学习 」https://www.javajike.com

    标题:java基础学习总结——GUI编程(一)

    链接:https://www.javajike.com/article/1095.html

« java基础学习总结——GUI编程(二)
java基础学习总结——static关键字»

相关推荐

QR code