Java GUI编程(一)

********************第16章 GUI编程 **************************

一.什么是GUI

GUI= Graphical User Interface 图形用户接口 图形用户界面

GUI是用java来编写带界面的应用程序

两套技术

1. AWT(Abstract Window Toolkit)

抽象窗口工具集

图形界面不是java本身实现的,其实是依赖于操作系统的底层函数

为了让同一个java程序运行在不同的操作系统上效果一致,所以

awt技术是抽取所有操作系统中共有的函数,这样既然是函数的交集

肯定功能比较单一

2. Swing

纯java实现的 由于本身不依赖于操作系统的底层函数 所以组件比较丰富

也可以跨平台

二.why

1. Awt 和Swing 虽然过时了,但是图形用户界面的编程思想并没有过时,我们学习

这一章主要学习GUI编程的思想,为以后学习Android等打下一个基础

2. 为了做初级项目

*******************普通组件的继承关系图和常用方法******************

普通组件的常用方法

1. 设置位置

setLocation(int x,int y)

2. 设置大小

setSize(int width,int height)

3. 设置位置和大小

setBounds(int x,int y,int width,int height)

4. 设置组件的可见性

setVisible(boolean flag)

容器的常用方法

容器: 它是一个特殊的组件,可以放其他的组件

1. 往容器中添加组件

Component add(Component component)

...

**********************容器组件的继承关系图*************************

一.window(窗口)

顶级容器 可以独立使用

二.Panel(面板)

不是顶级容器 只能放在其他容器中使用(Window或Panel)

早期把java程序分为两大类:

1. application

2. applet 可以嵌入到网页中的java小程序

applet后来被flash技术打败了

**********************************Frame****************************************

顶级容器,可以独立使用

Frame代表常见的窗口,它是Window类的子类,具有如下几个特征:
1.Frame对象有标题,允许通过拖拉来改变窗口的位置、大小
2.初始化时为不可见,可用setVisible(true)使其显示出来
3.默认使用BorderLayout作为布局管理器(稍后再说)

package com.chapter16;

import java.awt.Frame;

public class TestFrame {

public static void main(String[] args) {

Frame frame = new Frame("我是标题");

frame.setLocation(50, 150);

frame.setSize(300, 200);

frame.setVisible(true);
}
}

**********************************Panel****************************************

不是顶级容器,不可以独立使用,必须放到其他容器中(例如Window或Panel)

1.可作为容器来盛装其他组件,为放置组件提供空间
2.不能单独存在,必须放到其他容器中
3.默认使用FlowLayout作为其布局管理器

演示代码:

package com.chapter16;

import java.awt.Button;
import java.awt.Frame;
import java.awt.Panel;
import java.awt.TextField;

public class TestPanel {

public static void main(String[] args) {

Frame frame = new Frame("我是标题");

frame.setLocation(50, 150);

frame.setSize(250, 120);

//测试Panel

Panel panel = new Panel();

panel.add(new TextField(20));
panel.add(new Button("发送"));

//再把panel放到frame中
frame.add(panel);

frame.setVisible(true);
}
}

**********************************ScrollPane**************************************

带有滚动条的面板

把Panel 改成 ScrollPane 以后 单行文本框没了,原因是被按钮盖住了..

原因ScrollPane默认是BorderLayout 边框布局 如果添加的时候 没有指定添加元素的位置 默认添加到中间

两个组件都添加到中间 按钮就把单行文本框覆盖了

演示代码:

package com.chapter16;

import java.awt.Frame;
import java.awt.ScrollPane;
import java.awt.TextArea;

public class TestScrollPane {

public static void main(String[] args) {

Frame frame = new Frame("我是标题");

frame.setLocation(50, 150);

frame.setSize(250, 120);

//测试Panel

//ScrollPane.SCROLLBARS_AS_NEEDED 默认值 需要的时候再加滚动条
ScrollPane panel = new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS);

panel.add(new TextArea(5,20));
//panel.add(new Button("发送"));

//再把panel放到frame中
frame.add(panel);

frame.setVisible(true);
}
}

*******************************布局管理器**************************

一.为什么用布局管理器

使用了布局管理器以后,程序员就不需要主动调整控件的大小了, 由布局管理器帮你实现(相当于一个适配器)

要不然程序员一个一个调整组件的大小太麻烦了

二.如何设置容器的布局管理器

布局管理器类的对象
容器对象.setLayout(new XXXLayout());

三.常见的布局管理器(6种)

1. FlowLayout 流式布局

就像在txt或doc文档中打字一样,文字出现的顺序就是往流式布局 中添加的顺序

Panel 默认是流式布局

2. BorderLayout 边框布局

Frame 默认是边框布局的

类似4个人围桌 打麻将

如果想添加五个以上的组件,可以先把组件添加到Panel中,然后把Panel添加到 边框布局的容器中

原文地址:https://www.cnblogs.com/MrTanJunCai/p/9906839.html

时间: 2024-10-05 09:14:39

Java GUI编程(一)的相关文章

第14篇-JAVA GUI编程

第14篇-JAVA GUI编程 每篇一句 :道路一开始开辟的时候总是存在障碍的 初学心得: 原本下定决心才能开始的事情也变得理所当然 (笔者:JEEP/711)[JAVA笔记 | 时间:2017-04-25| JAVA GUI编程 ] 1.什么是界面 图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面 与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受 2.Java 基础类 JFC 的基本

JAVA GUI编程学习笔记目录

1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之GUI编程窗体事件 6.JAVA之GUI编程Action事件 7.JAVA之GUI编程鼠标事件 8.JAVA之GUI编程键盘码查询器 9.JAVA之GUI编程列出指定目录内容 10.JAVA之GUI编程弹出对话框Dialog 11.JAVA之GUI编程菜单 12.JAVA之GUI编程打开与保存文件 13.JAVA之GUI编程将程序打包jar JA

Java GUI编程中AWT/swing/SWT的优缺点

http://www.cnblogs.com/dugang/archive/2010/10/22/1858478.html AWT AWT是Abstract Window Toolkit(抽象窗口工具包)的缩写,是SUN专门针对Java GUI编程提供的最早的也是最初的开发工具包,用来建立和设置Java图形用户界面,这个工具包提供了一套与本地图形界面交互的接口.AWT 中的图形函数与操作系统所提供的图形函数之间有着一一对应的关系(peers).也就是说,当我们利用 AWT 来构件图形用户界面的时

java GUI编程(swing)之二swing按钮组件

swing的按钮组件.在widgets 类中. 要使用按钮,必须要导入JButton import javax.swing.JButton; 按钮需要加入到Frame里面 package gui; import java.awt.Frame; import javax.swing.JFrame; import javax.swing.JButton; /** * Created by admin on 2017/6/30. * java gui 学习 */ public class Gui ex

Java GUI编程

----基础 // 创建一个窗体对象        JFrame frame = new JFrame();        // 设置窗口大小        frame.setSize(300, 200);        // 指定窗口的显示位置        frame.setLocation(300, 200);        // 指定窗口的标题栏        frame.setTitle("MY FRIST WINDOWS!"); // 获取窗口的内容面板        Co

java GUI编程(swing)之四swing下拉框,列表框,滚动窗口

下拉框(JComboBox) 列表框(JList) 滚动窗口(JScrollPane) package gui; import java.awt.GridLayout; import javax.swing.*; /** * 下拉框,列表框,窗口滚动 * Created by admin on 2017/7/9. */ public class Scroll extends JFrame{ // 定义需要用到的组件 private JList jList; private JComboBox j

java GUI编程(swing)之八swing绘图

Graphics 类可以理解为画笔.它是java为我们提供的一个绘图类. 使用它可以画: 直线 drawLine(int x1, int y1, int x2, int y2) 矩形 drawRect(int x, int y, int width, int height) 圆形 drawOval(int x, int y, int width,int height) 填充矩形 fillRect(int x,int y, int width, int height) 填充圆形 fillOval(

java GUI编程(swing)之一 swing简单介绍

swing 是由sun公司开发的一个gui框架,一开始sun是开发了awt框架.但是awt框架 存在lcd问题.因此sun在awt的基础上继续开发出了swing. swing是继承了awt的类 swing 常用组件: text 文本组件 menus 菜单组件 widgets 小控件组件 top-level-windows顶层窗口管理 sub-windows 子窗口 原文地址:https://www.cnblogs.com/SunshineLittleCat/p/8279905.html

Java之GUI编程(二)——布局管理器

在上篇博客Java之GUI编程(一)中我已经对GUI编程的组件和事件做了简单介绍了,现在来看看另外一部分关于组件在各个平台是如何做到仍能保持自己合理的位置大小以及外观的. 已经说了Java是跨平台运行的,但是不同的平台对于点及坐标的定义不完全相同.而且屏幕的解析度分辨率不同也会造成位置的变化,为了确保每个组件的相对位置和大小以及外观,java就设计了布局管理器. 布局管理器是对容器中的元素进行管理,按照一定的规则排放容器里面的元素.它控制了组件的摆放. 布局管理器分类: FlowLayout:浮