javaGUI界面初步入门示例是什么
创始人
2024-12-24 21:22:16
0次

Java不太擅长做图形界面;

AWT是一种较老的包,最新的是Swing包,由于其包内调用了一部分的操作系统的内容,所以无法做到完全的跨平台。

对于每一个图形元素都是一个component类,其包含container,container是一个component,同时他又作为component的一个容器类,又可以存放component。在container中还有window和panel两种类,其中window类是独立的,可以直接显示,而panel类不独立,不能直接显示,必须依附于window类进行显示。在window下面还有Frame和Dialog,panel下面有applet,其中Frame是一个窗口,而Dialog是一个对话框,对于对话框有必须处理和不必须处理两种。

几个Frame/Panel实例

instance1:

添加几个基本的元素,构造方法一:建立一个Frame对象

import java.awt.*;public class TestGui {    public static void main(String[] args) {        Frame f = new Frame("My Frame") ;        f.setBounds(30, 30, 300, 300);        f.setBackground(Color.blue);        f.setResizable(true);        f.setVisible(true);    }}

注:在方法中,location用来设置图形的位置,size用来设置图形的大小,而用bounds可以直接设置其位置和大小

instance2:

构造方法二,通过建立一个新的类进行创建,其中该类要继承Frame

import java.awt.Color;import java.awt.Frame;public class TestFrame2 {    public static void main(String[] args) throws Exception{        new MyFrame1(100,100,200,200,Color.BLUE);        new MyFrame1(100,300,200,200,Color.CYAN);        new MyFrame1(300,100,200,200,Color.gray);        new MyFrame1(300,300,200,200,Color.MAGENTA);    }}class MyFrame1 extends Frame{    static int d = 0;    MyFrame1(int x,int y,int w,int z,Color c){        super("MyFrame " + ++d);//        setTitle("MyFrame " + ++d);        setBounds(x,y,w,z);        setBackground(c);        setResizable(true);        setVisible(true);    }}

注:可以直接new一个对象而不给其指定名称,这样已经在内存里有了空间但是没有名称调用,

对于MyFrame其继承自Frame用其构造方法给图形起一个名字,也可以用setTitle方法,但是用super()时必须要求变量为静态的。(??)

Panel:

instance 3:

import java.awt.*;public class TestPanel {    public static void main(String[] args) {        Frame f1 = new Frame("MyFrame 1");        Panel p1 = new Panel();        f1.setBounds(300, 300, 600, 600);        f1.setBackground(Color.blue);        f1.setLayout(null);        p1.setBounds(100, 100, 200, 200);        p1.setBackground(Color.DARK_GRAY);        f1.add(p1);        f1.setResizable(true);        p1.setVisible(true);        f1.setVisible(true);    }}

注:对于panel,由于其不能独立的显示所以必须要把它加入到一个window类中进行显示,

其和window类一样,必须调用其setVisible方法才能看的见。此外,这里setLayout参数是null,对应的对window进行拖动的时候,其内部的panel是不变的。

instance 4:

import java.awt.*;public class TestPanel2 {    public static void main(String[] args) {        new MyFrame4("MyFrame H",300,300,400,400);    }}class MyFrame4 extends Frame{//    private Penal p1,p2,p3,p4;     MyFrame4(String s, int x,int y,int w,int h){        super(s);        setBounds(x,y,w,h);        setBackground(Color.BLUE);        setLayout(null);        setResizable(true);        setVisible(true);        Panel p1 = new Panel(null); Panel p2 = new Panel(null);        Panel p3 = new Panel(null); Panel p4 = new Panel(null);        p1.setBounds(0, 0, w/2, h/2); p3.setBounds(w/2, 0, w/2, h/2);        p2.setBounds(0, h/2, w/2, h/2); p4.setBounds(w/2, h/2,w/2, h/2);        add(p1); add(p2); add(p3); add(p4);        p1.setBackground(Color.CYAN);        p2.setBackground(Color.GRAY);        p3.setBackground(Color.GREEN);        p4.setBackground(Color.RED);        p1.setVisible(true);        p2.setVisible(true);        p3.setVisible(true);        p4.setVisible(true);    }}

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...