栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java GUI界面初步入门示例

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java GUI界面初步入门示例

本文实例讲述了java GUI界面。分享给大家供大家参考,具体如下:

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);
    }
}

更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/135405.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号