学习《java程序设计》第九章学习总结

9章 组件及事件处理

9.7Java Swing概述

JavaSwing工具包中包含了许多类来支持GUI设计。如:按钮、菜单、列表、文本框等组件类,同时它还包含窗口、面板等容器类。

javax.swing包提供了功能更为强大的用来设计GUI的类。java.awtjavax.swing包中一部分类的层次关系的UML

容器类和组件类

javax.swing包中JComponent类是java.awt包中Container类的一个直接子类、是java.awt包中Component类的一个间接子类

  • JavaComponent类的子类或间接子类创建的对象称为一个组件
  • JavaContainer的子类或间接子类创建的对象称为一个容器
  • 可以向容器添加组件。Container类提供了一个public方法:add( ),一个容器可以调用这个方法将组件添加到该容器中
  • 容器调用removeAll()方法可以移掉容器中的全部组件;调用remove(Component c)方法可以移掉容器中参数c指定的组件。
  • 注意到容器本身也是一个组件,因此可以把一个容器添加到另一个容器中实现容器的嵌套。
  • 每当容器添加新的组件或移掉组件时,应当让容器调用validate()方法,以保证容器中的组件能正确显示出来

9.2   窗口

Java提供的JFrame类的实例是一个底层容器,即通常所称的窗口。其他组件必须被添加到底层容器中,以便借助这个地层容器和操作系统进行信息交互。

JFrame类是Container类的间接子类。当需要一个窗口时,可使用JFrame或其子类创建一个对象。

JFrame构造方法

  • 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) 设置窗口的扩展状态
  • public void setDefaultCloseOperation(int operation)  该方法用来设置单击窗体右上角的关闭图标后,程序会做出怎样的处理。如:EXIT_ON_CLOSE
  • public void setLayout(LayoutManager mgr) 设置此容器的布局管理器
  • public Component add(Component comp) 将指定组件追加到此容器的尾部
  • public void setMenuBar(MenuBar mb) 将此 frame 的菜单栏设置为指定的菜单栏
  • public void validate() 使用 validate 方法会使容器再次布置其子组件。在修改此容器的子组件的时候(在容器中添加或移除组件,或者更改与布局相关的信息),应该调用上述方法。

菜单条、菜单、菜单项

1.菜单条

 JComponent类的子类JMenubar负责创建菜单条,JFrame类有一个将菜单条放置到窗口中的方法:该方法将菜单条添加到窗口的顶端。

setJMenuBar(JMenuBar bar);

菜单条JMenuBar类构造方法:JMenuBar(); JMenuBar  Mbar=new JMenuBar()

2.菜单

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

菜单JMenu类构造方法:JMenu() ; JMenu(String s) ; JMenu m=new JMenu();

常用方法:

常用方法:

  public void add(JMenuItem item) 向菜单增加由参数item指定的菜单项

  public JMenuItem getItem(int n) 得到指定索引处的菜单选项。

  public int getItemCount() 得到菜单选项的数目。

3.菜单项

  JComponent类的子类JMenuItem负责创建菜单项,JMenuItem类的主要方法有以下几种:

  JMenuItem(String s) 构造有标题的菜单项。

  JMenuItem(String text, Icon icon) 构造有标题和图标的菜单项

  public void setAccelerator(KeyStroke keyStroke)为菜单项设置快捷键

9. 3  常用组件与布局

可以使用JComponent的子类JTextField创建各种组件。利用组件可以完成应用程序与用户的交互及事件处理等。

常用组件

  • 文本框:由JComponent的子类JTextField创建文本框
  • 文本区:由JComponent的子类JTexArea创建文本区
  • 按钮:由JComponent的子类JButton类用来创建按钮
  • 标签:由JComponent的子类JLabel类用来创建标签
  • 选择框:由JComponent的子类JCheckBox类用来创建选择框
  • 单选按钮:由JComponent的子类JRadioButton类用来创建单项选择框
  • 下拉列表:由JComponent的子类JComboBox类用来创建下拉列表
  • 密码框:由JComponent的子类JPasswordField创建密码框
public class Example9_3 {
   public static void main(String args[]) {
      ComponentInWindow win=new ComponentInWindow();
      win.setBounds(100,100,450,260);
      win.setTitle("常用组件");
   }
}
import java.awt.*;
import javax.swing.*;
public class ComponentInWindow extends JFrame { 
   JTextField text;
   JButton button;
   JCheckBox checkBox1,checkBox2,checkBox3;
   JRadioButton radio1,radio2;
   ButtonGroup group;
   JComboBox<String> comBox; 
   JTextArea area;
   public ComponentInWindow() {
      init();
      setVisible(true);
      setDe
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值