JAVA自学日记——Part Ⅲ

终于来到了可视化窗口制作的部分了,从学习JAVA之前,到开始入手学习,一直到现在,都在盼望着有一天可以自己写出一款有界面而且是很美观的应用程序,今天算是一个真正开始的时间节点,值得纪念。

内容有很多,首先是Swing和抽象窗口工具包:Swing提供了编写使用图形用户界面的程序所需的一切,是现在应用最广泛的一种GUI。

组件图形用户界面时,需要使用两类对象:组件和容器。组件是用户界面中的独立元素,如按钮或者滑块;容器是用于容纳其它组件的组件。

我们所需的容器和组件基本全都在javax.swing.*与java.awt.*包中。

1.设置框架标题。

在继承JFrame的类中,可以调用JFrame的构造函数来设置标题:

super("Title");

也可以使用框架的方法:

setTitle("Title");

2.指定框架的大小

setSize(350,125);                            //数字代表框架的高度宽度,以像素为单位

3.关闭框架的方法

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);                //按钮被单击时退出程序

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);          //关闭框架并销毁对象,但应用程序继续运行

setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);   //让框架打开并继续运行

setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);              //关闭框架并继续运行

4.外观自定义

通过调用主Swing包中UIManager类的setLookAndFeel()方法可以设置外观。该方法接收一个参数:外观类的完整名称。(在调用方法是使用try-catch来处理可能发生的错误)

UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");            //表示调用了Nimbus这个外观

5.显示框架

setVisible(true);

6.按钮(JButton)

JButton okButton=new JButton("OK");                                            //创建JButton对象并设置标签

add(okButton);                                                                             //将JButton组件添加到容器中

7.布局管理器

布局管理器可以来设置组件在容器中的位置,目前有以下几种布局管理器

FlowLayout:最简单的布局管理器

FlowLayout flo=new FlowLayout();

GridLayout:可将组件组织委员指定的行数和列数

GridLayout grid=new GridLayout(2,3);                                           //组织为2行3列

BorderLayout:将组件放置在东西南北中五个防线

BorderLayout border=new BorderLayout();

add(aButton,BorderLayout.NORTH);

add(bButton,BorderLayout.SOUTH);

add(cButton,BorderLayout.EAST);

add(dButton,BorderLayout.WEST);

add(eButton,BorderLayout.CENTER);

BoxLayout:将组件排成一行或者一列

BoxLayout.X_AXIS指定水平排列,BoxLayout.Y_AXIS指定垂直排列

JPanel swingDemo=new JPanel();

BoxLayout box=new BoxLayout(swingDemo,BoxLayout.X_AXIS);                     //将面板swingDemo组件水平排列

8.标签和文本框(JLable、JTextField)

JLable用来显示用户不可修改的信息,可以使文本也可以是图形。

JLable page1=new JLable("Email Adress:",JLable.RIGHT);                                  //RIGHT表示右对齐

JTextField用来提供用户输入单行文本的区域,创建文本框时,可以设置其宽度

JTextField pageAddress=new JTextField("US",20);                                      //默认内容为“US”,宽度为20字符

对象包含的文本可使用方法getText()来检索

String email=Email.getText();

设置文本

Email.setText("[email protected]");

9.复选框(JCheckBox)

由文件和方框组成,可选中。

JCheckBox box=new JCheckBox("Hello World");                                //为复选框设置标签“Hello World”

JCheckBox可以编成组,但是不能同时被选中。

使用以上代码进行测试

由于jumbo size不在ButtonGroup内,所以不受其他三个选项的影响。

10.组合框(JComboBox)

弹出式选择列表,也可以设置成能够接受文本输入。

11.文本区域(JTextArea)

允许用户输入多行文本,可以指定组件的宽度和高度。

文本区域组件的实际效果会有所不同:达到底部时,会自动增大,没有滚动条,相对来讲比较简陋。需要放入以后学习到的滚动窗格的容器中

12.面板(JPanel)

JPanel是在Swing中可以使用的最简单的容器

13.使用Insets将组件隔开

使用Insets令组件远离容器边缘,Insets是代表容器边缘区域的对象。

Insets around=new Insets(10,6,10,3);                           //上边缘内10像素,左6,右3,下10

综合今天的学习,设计出了一个完整的界面,供以后的学习使用:

时间: 2024-10-07 19:22:26

JAVA自学日记——Part Ⅲ的相关文章

JAVA自学日记——Part Ⅱ

今天学习了类与对象,其中关于this关键字的用法,static静态变量与静态方法,以及引用传递需要特别注意一下. 首先是引用传递: 在本段程序中可以通过进行外部对类对象的属性赋值来更改,同时也可以通过外部方法来对类对象属性进行修改.最后的结果为: 值得注意的地方为:如果将temp的类型改为String类型,结果仍然被改变.String在堆空间内是无法被修改的,但是在类对象内,每次对属性的修改都会再次开辟新空间,如果仅仅在主方法内进行字符串的修改,其输出结果是不会有变化的: 下面为this关键字的

android 自学日记(一)

android 自学日记(一) 说起日记,记忆还是小学时候学校里的作业,只记得当时通篇都是流水账,例如"几点起床,去哪里玩了,干了啥坏事什么的(额,这不能写!)...",反正都是应付学校作业,胡乱凑字数的.主要那还是自知没啥写作的天赋,上学时候的作文都是挤牙膏似地才能凑满要求的800字.理所当然的文科不好的人,理科一般都还不错,我也在偏科厉害的情况下进入了一个三流工科大学. 之后没有了这些令人痛苦的要求之后,基本就是和写东西无缘了,那是能不写就不写,包括当时的毕业论文,那是头疼了好几个

Java自学序言

Java自学序言 亲爱的自己和各位读者朋友: 您们好! 这是作者本人自学Java编程开发的一系列文章,不具有一定的权威性,也算是自己一个人的学习笔记和总结,希望自己通过博客的形式将我自己的学习效率得到提高.如自学的稳重存在不足或错误的地方希望广大的博客朋友们多多指教.本人在此不胜感激! 学习Java是一件很痛苦的事儿,我自己要想不断的去挑战一下自己,把自己大学所学的Java知识能够巩固起来.不断的去改正自己开发中的不足之处.如何来学习Java?如何来更好的掌握Java开发语言?这些都是我们要不断

Java学习日记(一)基础

标识符: 由26个英文字母大小写,数字:0-9 符号:_ $ 组成 定义合法标识符规则: 1.数字不可以开头. 2.不可以使用关键字. 3.Java中严格区分大小写. Java中的注释格式: 单行注释: 格式: //注释文字 多行注释: 格式: /* 注释文字*/ 文档注释: 格式:/** 注释文字 */ 常量: 常量表示不能改变的数值. java中常量的分类: 1.整数常量.所有整数 2.小数常量.所有小数 3.布尔型常量.较为特有,只有两个数值.true 和false. 4.字符常量.将一个

【转】JAVA自学之路

JAVA自学之路 一: 学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟应该选择什么方向呢? 我的意见是,不要太过相信各种培训机构或是抢手文章的说法(包括我),当你要走向社会的时候,就不要再把自己当成学生,不要把自己的将来交给别人,学会运用自己的眼睛去观察,去了解这个世界吧. 每个培训机构都会宣传自己的好处,并不能说明大的趋势. 一些新闻文章很有可能是枪手写的,不必太过相信.国外背景的

Java自学笔记(三)——输入

因为最近学的内容实际操作比较多,所以新的笔记就用代码为主体吧! 本回主要内容是输入,Java中主要用Scanner类和BufferedReader.总体来说不难,但有些细节可以总结,看代码: import java.io.*; import java.util.Scanner; public class ioTest { public static void main(String[] args) throws Exception { //Scanner提供了多种构造器,不同的构造器可以接受文件

[转载] JAVA自学之路

原文链接http://blog.csdn.net/mengxin846/article/details/2219844 虽然文章有点旧但还是有些启发的,譬如要事第一,好读书不求甚解. JAVA自学之路 一:学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟应该选择什么方向呢? 我的意见是,不要太过相信各种培训机构或是抢手文章的说法(包括我),当你要走向社会的时候,就不要再把自己当 成学生

java学习日记第一天

java 学习日记 第一天 java学习准备工作 首先环境配置:一个是jdk安装,另一个编译工具 eclipse ,安装下载教程网上很多 找了一个照着做就行 : 上述步骤完成,我们就可以打开eclipse进行我们第一个程序的编写啦当然是编写我们熟悉的helloWorld创建一个Java Perfect 目前好像基本都习惯用工程管理我们就建一个java工程然后点开工程在src右键new一个class,不用问这是啥这是啥,先把程序跑起来,慢慢就懂了我们在{}写我们的程序,这就好比helloworld

马士兵:JAVA自学之路

JAVA自学之路 一:学会选择 为了就业,不少同学参加各种各样的培训.决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟应该选择什么方向呢?我的意见是,不要太过相信各种培训机构或是抢手文章的说法(包括我),当你要走向社会的时候,就不要再把自己当成学生,不要把自己的将来交给别人,学会运用自己的眼睛去观察,去了解这个世界吧. 每个培训机构都会宣传自己的好处,并不能说明大的趋势.一些新闻文章很有可能是枪手写的,不必太过相信.国外背景的教师和课