java gui是什么_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添加到 边框布局的容器中
java gui是什么_Java GUI编程(一)相关推荐
- java gui 布局 旋转_JAVA GUI编程之布局管理器
JAVA的GUI(图形用户界面)由各种组件构成,主要分为AWT组件(java.awt)以及功能更强的Swing组件(javax.swing)两种. 组件可以分为容器组件和非容器组件.容器组件是指可以包 ...
- java swing界面工具_Java GUI swing 工具包使用总结
前言 最近用 swing 写了一个GUI图片接入的工具, 方便用于将图片数据通过接口推送到 web 项目中 做界面有点像写原生的 CSS 技术储备 java 基础知识, 面向对象封装, 继承, 接口, ...
- java paint的使用_java GUI编程之paint绘制操作示例
本文实例讲述了java GUI编程之paint绘制操作.分享给大家供大家参考,具体如下: import java.awt.*; public class Testpint { public stati ...
- java gui有哪些_Java GUI简介
Java有2个GUI库:AWT.Swing. AWT是SUN最早提供的GUI库,依赖本地平台,界面不好看,功能有限.之后推出了Swing,Swing并没有完全替代AWT,而是建立在AWT基础上的.Sw ...
- java gui 窗口 传值_java – GUI – 在不同窗口之间传输数据(J...
我已经开始使用bash脚本以及一些java(控制台)和python来满足我的编程需求.想想我将工作整理到某个图形环境的时候,我偶然发现了一个基本的任务,让我现在几个小时都挂了. main函数在启动主应 ...
- java mysql查询界面_Java GUI小程序 实现数据库查询界面-Go语言中文社区
源代码如下:package 数据库图形化界面3; import java.awt.*; import javax.swing.*; import java.awt.event.*; public cl ...
- java gui 按键 数组_java GUI分配数组值
好的,所以这是一个非常基本的例子.它需要更多的工作和优化,但应该让你朝着正确的方向前进 import java.awt.Color; import java.awt.Dimension; import ...
- java gui 跳转_java GUI点击一个按钮怎么跳转到下一个窗口
想从登录的窗口跳转到注册的窗口,这样写点击注册为什么不跳转packageview;importjava.awt.GridLayout;importjava.awt.event.ActionEvent; ...
- java textarea 取值_java Gui中如何获取TextArea的值
展开全部 可以使用 JTextArea 的 getText() 方法获取文62616964757a686964616fe78988e69d8331333365653830件内容,如下:import j ...
最新文章
- LeetCode简单题之两句话中的不常见单词
- 【AWT编写图形用户界面】GUI编程之AWT讲解(看不懂你来打我)
- Java中Date及Timestamp时间相关内容【转】
- Delphi的类与继承
- python还是hadoop_使用Python和Hadoop Streaming编写MapReduce
- Java将一段逗号分割的字符串转换成一个数组(亲测)
- Linux多线程编程(一)---多线程基本编程
- Java10来了,来看看它一同发布的全新JIT编译器
- Bitcoin比特币与BlockChain区块链技术
- OpenLayers相关资料
- 在react中使用svg的各种骚姿势 1
- 百度霸屏技术的源码发布
- 十六进制格式颜色转换成RGB格式颜色
- python模拟登陆微博_超详细的Python实现微博模拟登陆,小白都能懂
- 《数据库原理与应用》马春梅 禹继国 黄宝贵 祝永志 编著 P30 六个表的实现
- 影响未来的十大网络技术
- humanoid ik unity 配件 animation的问题
- 空域变换-直方图局部处理(CLAHE)
- zf3 php,php – ZF3中的ServiceManager
- Ueditor(三):将图片上传至项目外的目录