Java下使用Swing来进行图形界面开发
1. GUI从创建window开始,通常会使用JFrame。JFrame frame = new JFrame();
2. 你可以这样加入按钮,文字字段等组件。frame.getContentPane().add(button);
3. JFrame与其他组件不同,不能直接加上组件,要用它的content pane。
4. 要显示window,你得指定尺寸和执行显示动作。frame.setSize(300,300); frame.setVisible(true);
5. 监听GUI事件才能知道用户对接口做了什么事情。
6. 你必须要对事件源注册所要监听的事件。事件源是一种会根据用户操作而触发事件的机制。
7. 监听接口让事件源能够调用你提供的方法。
8. 要对事件源注册就调用事件源的注册方法,它的方法一定是add<EventType>Listener这种形式。如:button.addActionListener(this);
9. 通过实现所有的事件处理方法来实现监听接口。
10. 传递给事件处理方法的事件对象带有事件的信息,其中包括了事件源。
图形:
1. 二维图形可以直接画在图形组件上。
2. .gif与.jpeg文件可以直接放在组件上。
3. 用JPanel的自雷覆盖paintComponent()方法绘制自定义的图形。
4. paintComponent()方法会有GUI系统调用,你不可以自己调用。它的参数是个你不能自己创建的Graphics对象。
5. Graphics对象有些你可以调用的方法:grapics.setColor(Color.blue); g.fillRect(20,50,100,120);
6. 使用Image来绘制.jpg:Image image = new ImageIcon(“pic.jpg”).getImage(); g.grawImage(image, 3, 4, this);
7. paintComponent()的Graphics参数实际上是个Graphics2D。
8. 调用Graphics2D的方法前,你必须把Graphics对象转换成Graphics2D。
需要抽时间好好研究下Java的GUI开发
Java下使用Swing来进行图形界面开发的更多相关文章
- JAVA与图形界面开发(Applet应用程序、AWT库、Swing)
Applet 1)简单说,Applet就是嵌入到网页中的小程序,Java代码. 2)编写Applet程序,要继承JApplet类,并根据自己需要覆写相关方法(init.start.stop.destr ...
- Java Swing 图形界面开发(目录)
Java Swing 图形界面开发(目录) 2017年05月30日 23:50:42 阅读数:5228 本文链接: http://blog.csdn.net/xietansheng/article/d ...
- Java Swing图形界面开发
本文转自xietansheng的CSDN博客内容,这是自己见过的最通俗易懂.最适合快速上手做Java GUI开发的教程了,这里整合一下作为自己以后复习的笔记: 原文地址:https://blog.cs ...
- Java GUI图形界面开发工具
Applet 应用程序 一种可以在 Web 浏览器中执行的小程序,扩展了浏览器中的网页功能. 缺: 1.需要下载 Applet 及其相关文件 2.Applet 的功能是受限制的 优: 3.无需 ...
- Java知多少(84)图形界面之布局设计
在界面设计中,一个容器要放置许多组件,为了美观,为组件安排在容器中的位置,这就是布局设计.java.awt中定义了多种布局类,每种布局类对应一种布局的策略.常用的有以下布局类: FlowLayout, ...
- JAVA 图形界面开发基础详解
与C的win32一样,JAVA也有自己的图形界面开发,将在此篇博客中对基础部分进行讲解. 1.Java提供的图形界面类有哪些? Java提供了两套图形界面 (1)AWT组建(基础) AWT组件是jdk ...
- Java 图形界面开发--图文并茂建立学生管理系统
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/50932501 冷血之心的博客) 图形用户界面(Graphics U ...
- Ubuntu上安装和使用SSH,Xming+PuTTY在Windows下远程Linux主机使用图形界面的程序
自:http://blog.csdn.net/neofung/article/details/6574002 Ubuntu上安装和使用SSH 网上有很多介绍在Ubuntu下开启SSH服务的文章,但大 ...
- linux下的X server:linux图形界面原理
linux下的X server:linux图形界面原理 Moblin Core是在Gnome Mobile的平台上建立.我以前玩Linux,提交的都和图像没有关系,连Xwindows都不用启动,开 ...
随机推荐
- python字典形list 去重复
data_list = [{"}] run_function = lambda x, y: x if y in x else x + [y] return reduce(run_functi ...
- python笔记-for循环的方法
#!/usr/bin/env python #-*- coding:utf-8 -*- ''' for 语句 格式: for 变量名 in 集合: 语句 逻辑:按顺序取"集合"中的 ...
- 与SVN相关的程序的调试问题【转】
解决eclipse中出现Resource is out of sync with the file system问题. 分析:有时候因为时间紧迫的原因,所以就没去管它,今天再次遇到它,实在看着不爽,所 ...
- 查询集 QuerySet和管理器Manager
查询集 QuerySet 查询集,也称查询结果集.QuerySet,表示从数据库中获取的对象集合. 当调用如下过滤器方法时,Django会返回查询集(而不是简单的列表): all():返回所有数据. ...
- python中生成器对象和return 还有循环的区别
python中生成器对象和return 还有循环的区别 在python中存在这么一个关键字yield,这个关键字在项目中经常被用到,比如我写一个函数不想它只返回一次就结束那我们就不能用return,因 ...
- 从源码带你看懂functools的partial方法
1.what? partial是什么, partial也叫偏函数.源码的描述是: 部分应用给定参数和关键字的新函数. New function with partial application of ...
- 用描述符实现classmethod方法和staticmethod方法
1. @classmethod class ClassMethod: def __init__(self, func): self.func = func def __get__(self, inst ...
- django之media配置
一.没有配置Media avatar = models.FileField(upload_to='avatars/', default='/avatars/default.png') # 储存头像的m ...
- c++ vector实例
#include <iostream> #include <string> #include <vector> #include <iostream> ...
- mysql-show processlist之writing to net
mysql提示Writing to net解决 最近发现某一个数据库cpu占用比较过.超过200%了. 首先查看数据库慢日志,设定慢日志5秒,基本上没有产生日,没有超过5秒的语句. show proc ...