java GUI界面初步入门示例【AWT包】

本文实例讲述了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程序设计有所帮助。

(0)

相关推荐

  • Java的GUI编程之列表和组合框的设计使用

    列表和组合框是又一类供用户选择的界面组件,用于在一组选择项目选择,组合框还可以输入新的选择. 列表 列表(JList)在界面中表现为列表框,是JList类或它的子类的对象.程序可以在列表框中加入多个文本选择项条目.列表事件的事件源有两种: 一是鼠标双击某个选项:双击选项是动作事件,与该事件相关的接口是ActionListener,注册监视器的方法是addActionListener(),接口方法是actionPerformed(ActionEvent e). 二是鼠标单击某个选项:单击选项是选项

  • Java GUI制作简单的管理系统

    本文实例为大家分享了Java GUI管理系统的具体代码,供大家参考,具体内容如下 1.先完成主页面MainUI(代码如下) package com.pag_1; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class MainUI extends JFrame implements ActionLis

  • java Gui实现肯德基点餐收银系统

    大家应该都去麦当劳或肯德基吃过快餐,参考肯德基官网的信息模拟肯德基快餐店的收银系统,简单的java Gui模拟的肯德基收银系统. 1.系统介绍 同学们应该都去麦当劳或肯德基吃过快餐吧?请同学们参考肯德基官网的信息模拟肯德基快餐店的收银系统,合理使用C++/python/Java,结合设计模式(2种以上)至少实现系统的以下功能: 1.正常餐品结算和找零. 2.基本套餐结算和找零. 3.使用优惠劵购买餐品结算和找零. 4.可在一定时间段参与店内活动(自行设计或参考官网信息). 5.模拟打印小票的功能

  • Java GUI编程之贪吃蛇游戏简单实现方法【附demo源码下载】

    本文实例讲述了Java GUI编程之贪吃蛇游戏简单实现方法.分享给大家供大家参考,具体如下: 例子简单,界面简陋 请见谅 项目结构如下 Constant.jvava 代码如下: package snake; /** * * @author hjn * */ public class Constant { /** * 蛇方移动方向:左边 */ public static final int LEFT = 0; /** * 蛇方移动方向:右边 */ public static final int R

  • java GUI编程之布局控制器(Layout)实例分析

    本文实例讲述了java GUI编程之布局控制器(Layout).分享给大家供大家参考,具体如下: 布局控制器,是用来系统自动分配各个component在window内部是怎么排布的:默认为FlowLayout,即挨个排序.FlowLayout是Panel的 instance 1:FlowLayout import java.awt.*; public class TestLayout { public static void main(String[] args) { Frame f = new

  • JAVA图形界面(GUI)之表格的示例代码

    表格(JTable)是我们在GUI开发中很常用的一个组件.表格在可视化编程中用于显示信息,在Swing编程中非常有用,当要显示大量数据时,用表格可以清晰的显示出来. 本篇博客将演示JTable的基本用法. 构造方法: 方法名 说明 JTable() 构造一个默认的 JTable,使用默认的数据模型.默认的列模型和默认的选择模型对其进行初始化 JTable(int numRows, int numColumns) 使用 DefaultTableModel 构造具有 numRows 行和 numCo

  • Java的带GUI界面猜数字游戏的实现示例

    先导包 import java.util.*; import javax.swing.*; 再写主方法 public static void main(String[] args) { } 新声明一个Scanner和随机数 public static void main(String[] args) { Scanner in = new Scanner(System.in); Random r = new Random(); } 让UIManager爬取系统窗口样式 try { UIManage

  • Java GUI实现学生成绩管理系统

    学习java有一年多了,一直在做web方面的练习,在一个项目中发现需要用到GUI的相关知识,结果没法做出来,网上这方面的文章又不是很多,所有只好自己硬着头皮从头再学一遍了,不过学习后发现,其实GUI是非常有趣的,他并不像WEB程序一样依赖互联网,而且还有许多布局和android相差不是很大,这才发现自己竟又爱上GUI的开发了,不多说了,直接上代码吧,相信有过android或相关界面开发的都明白这其中的道理. 先看看效果吧 1.登录主界面 package edu.gzu.stuManager; i

  • JAVA GUI自定义JPanel画板背景

    自定义JPanel面板背景 一.前言 1.GUI全称是Graphical User Interface,就是图形用户界面.JAVA的GUI应用广泛在我们生活中也很常见.很多应用使用该GUI编程设计,像点击QQ图标弹出对应的登录窗体. 一般程序与用户的交互都基于对应程序的运行界面. 2.JPanel面板是SWING下的一个面板容器类.该面板支持嵌套,可设置布局方式,设置不同的布局管理器可添加其他控件像JButton按钮,JTextField文本框等.来设计完善一个程序界面窗体. 作为绘制面板支持s

  • Java GUI编程实现在线聊天室

    引言 综合应用Java的GUI编程和网络编程,实现一个能够支持多组用户同时使用的聊天室软件.该聊天室具有比较友好的GUI界面,并使用C/S模式,支持多个用户同时使用,用户可以自己选择加入或者创建房间,和房间内的其他用户互发信息(文字和图片) 主要功能 客户端的功能主要包括如下的功能: 选择连上服务端 显示当前房间列表(包括房间号和房间名称) 选择房间进入 多个用户在线群聊 可以发送表情(用本地的,实际上发送只发送表情的代码) 退出房间 选择创建房间 房间里没人(房主退出),导致房间解散 显示系统

  • Java 最重要布局管理器GridBagLayout的使用方法

    GridBagLayout是java里面最重要的布局管理器之一,可以做出很复杂的布局,可以说GridBagLayout是必须要学好的的, GridBagLayout 类是一个灵活的布局管理器,它不要求组件的大小相同便可以将组件垂直.水平或沿它们的基线对齐. 每个 GridBagLayout 对象维持一个动态的矩形单元网格,每个组件占用一个或多个这样的单元,该单元被称为显示区域. 下面就通过一个记事本案例去说明GridBagLayout的使用方法. 分析: 带有箭头的说明可以拉伸的. 4占用4个格

  • java布局管理之CardLayout简单实例

    本文实例为大家分享了java布局管理之CardLayout的具体代码,供大家参考,具体内容如下 import java.awt.BorderLayout; import java.awt.CardLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swi

随机推荐