201711671202《Java程序设计》第八周学习总结

教材学习内容总结

1.

Java.awt包,即Java抽象窗口工具包

Javax.swing包,提供了功能更为强大的用来设计GUI的类

Java把Component类的子类或间接子类创建的对象称为一个组件

Java把Container的子类或间接子类创建的对象称为一个容器

removeAll()方法可以移掉容器中的全部组件,调用remove(Component c)方法可以移掉容器中参数c指定的组件

validate()方法,以保证容器中的组件能正确显示出来

2.

Java提供的JFrame类的实例就是一个底层容器,即通常所称的窗口

其他组件必须被添加到底层容器中,以便借助这个底层容器和操作系统进行信息交互

窗口默认被系统添加到显示器屏幕上,因此不允许将一个窗口添加到另一个容器中

3.

JFrame()创建一个无标题的窗口

JFrame(String s)创建标题为s的窗口

public void setBounds(int a,int b,int width,int height)设置窗口的初始位置是(a,b),即距屏幕左面a个像素,距屏幕上方b个像素,窗口的宽是width,高是height

public void setSize(int width,int height)设置窗口的大小

public void setLocation(int x,int y)设置窗口的位置,默认位置是(0,0)

public void setVisible(boolean b)设置窗口是否可见,窗口默认是不可见的

public void setResizable(boolean b)设置窗口是否可调整大小,默认可调整大小

public void dispose()撤销当前窗口,并释放当前窗口所使用的资源

public void setExtendedState(int state)设置窗口的扩展状态,其中参数state去JFrame类中的下列常数:

MAXMIZED_HORIZ(水平方向最大化)

MAXIMIZED_VERT(垂直方向最大化)

MAXIMIZED_BOTH(水平、垂直方向都最大化)

public void setDefaultCloseOperation(int operation)该方法用来设置单击窗体右上角的关闭图标后,程序会做出怎样的处理。其中的参数operation去JFrame类中的下列int型static常数,程序根据参数operation取值做出不同的处理:

DO_NOTHING_ON_CLOSE(什么也不做)

HIDE_ON_CLOSE(隐藏当前窗口)

DISPOSE_ON_CLOSE(隐藏当前窗口,并释放窗体占有的其他资源)

EXIT_ON_CLOSE(结束窗口所在的应用程序)

4.

JComponent类的子类JMenubar负责创建菜单条

JFrame类有一个将菜单条放置到窗口中的方法:setJMenuBar(JMenuBar bar);该方法将菜单条添加到窗口的顶端,需要注意的是,只能向窗口添加一个菜单条

JComponent类的子类JMenu负责创建菜单

JComponent类的子类JMenuItem负责创建菜单项

为了使菜单项有一个图标,可以用图标类Icon声明一个图标,然后使用其子类ImageIcon类创建一个图标,如:Icon icon=new ImageIcon(”a.gif”);然后菜单项调用setIcon(Icon icon)方法将图标设置为icon

5.

常用组件都是JComponent的子类

JTextField(文本框)允许用户在文本框中输入单行文本

JTextArea(文本区)允许用户在文本区中输入多行文本

JButton(按钮)允许用户单击按钮

JLabel(标签)标签为用户提供提示信息

JCheckBox(复选框)为用户提供多项选择

JRadioButton(单选按钮)为用户提供单项选择

JComboBox(下拉列表)为用户提供单项选择。用户可以在下拉列表中看到第一个选项和它旁边的箭头按钮,当用户单击箭头按钮时,选项列表打开

JPasswordField(密码框)允许用户在密码框中输入单行密码,密码框的默认回显字符是’*’。密码框可以使用setEchoChar(char c)重新设置回显字符,当用户输入密码时,密码框只显示回显字符。密码框调用char[]getPassword()方法可以返回用户在密码框中输入的密码

6.

中间容器必须被添加到底层容器中才能发挥作用

JPanel创建一个面板,JPanel面板的默认布局是FlowLayout布局

JTabbedPane容器作为中间容器。当用户向JTabbedPane容器添加一个组件时,JTabbedPane容器就会自动为该组件指定一个对应的选项卡,即让一个选项卡对应一个组件

选项卡默认在JTabbedPane容器的顶部,从左向右依次排序

JTabbedPane容器可以使用add(String text,Component c);方法将组件c添加到JTabbedPane容器中,并指定和组件c对应的选项卡的文本提示是text

可以使用构造方法public JTabbedPane(int tabPlacement)创建JTabbedPane容器,选项卡的位置有参数tabPlacement指定,该参数的有效值为JTabbedPane,TOP、JTabbeedPane.BOTTOM、JTabbedPane.LEFT和JTabbedPane。RIGHT

7.

滚动窗格JScrollPane只可以添加一个组件。JTextArea不自带滚动条,因此就需要把文本区放到一个滚动窗格中

拆分窗格JSplitPane的两个常用的构造方法如下:

JSplitPane(int a,Component b,Component c)参数a取JSplitPane的静态常数HORIZONTAL_SPLIT或VERTICAL_SPLIT,以决定是水平还是垂直拆分

JSplitPane(int a,boolean  b、Component c、Component d)参数a取JSplitPane的静态常量HORIZONTAL_SPLIT或VERTICAL_SPLIT,已决定是水平还是垂直拆分,参数b决定当拆分线移动时,组件是否连续变化(true是连续)

JLayeredPane分层窗格使用add(Jcomponent com,int layer);添加组件com,并指定com所在的层,其中参数layer的取值JLayeredPane类中的类常量:DEFAULT_LAYER、PALETTE_LAYER、MODAL_LAYER、POPUP_LAYER、DRAG_LAYER

添加到同一层上的组件,如果发生重叠,后添加的会遮挡先添加的组件。分层窗格调用public void setLayer(Component c,int layer)可以重新设置组件c所在的层,调用public int getLayer(Component c)可以获取组件c所在的层数

8.

FlowLayout类的一个常用构造方法如下:FlowLayout();该构造方法可以创建一个居中对齐的布局对象。

BorderLayout布局使空间简单地划分为东、西、南、北、中5个区域,中间的区域最大

使用CardLayout的容器可以容纳多个组件,这些组件被层叠放入容器中,最先加入容器的是第一张(在最上面),一次向下排序。使用该布局的特点是,同一时刻容器只能从这些组件中选出一个来显示。

GridLayout是使用较多的布局编辑器,其基本布局策略是把容器划分成若干行乘若干列的网格区域

Null布局容器可以准确地定位组件在容器中的位置和大小

BoxLayout布局:

使用Bos类的类方法createHorizontalBox()获得一个行型盒式容器;使用Box类的类方法createVerticalBox()获得一个列型盒式容器

教材学习中的问题和解决过程

参考资料

《java 2实用教程(第5版)》

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值