java 图形界面涉及的相关知识

本文详细介绍了Java Swing组件库,包括顶级容器JFrame和JDialog,面板组件,文本组件如JTextField和JTextArea,标签组件,按钮组件如JButton、JCheckBox和JRadioButton,下拉框组件JComboBox,以及菜单组件的下拉式菜单和弹出式菜单。还讨论了布局管理器如BorderLayout和FlowLayout,以及事件处理机制,包括窗体事件、鼠标事件和键盘事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SWing的概述

说明:
 Swing组件的所有类都继承自Container类,然后根据GUI开发的功能扩展了2
个主要分支:容器分支(包括Window窗口和Panel面板)和组件分支。
 容器分支就是为了实现图形用户界面窗口容器而设计的。
 组件分支则是为了实现向容器中填充数据、元素以及人机交互组件等功能。
 Swing组件类中,常用的顶级容器类包括有JApplet、JFrame和JDialog。
 常用组件AbstractButton类及其子类是用来定义按钮常见行为的工具类。
 JTextComponent类及其子类就是用来定义文本内容编辑区域的工具类

## SWing界面的顶级容器JFrame

    * 在swing组件中,最常见的一个容器就是JFrame
    * JFrame是一个独立存在的顶级容器【也叫窗口】,不能放置在其他容器中
    * JFrame支持通用窗口所有的基本功能,例如窗口的最小化,最大化,设定窗口的大小等
    * 常用的构造方法
             - JFrame()      构造方法,创建一个没有窗口标题的窗口框架
             - JFrmae(String)  构造方法,创建一个指定窗口标题的框架

顶级容器JDialog

     * JDialog是Swing的另外一种顶级容器,通常用来表示对话框窗口
     * JDialog对话框分为两种:模态对话框和非模态对框框
            模态对话框:是指用户需要等到处理完对话框才能继续与其他的窗口交互
            非模态对话框:是指允许用户在处理对话框的同时,与其他窗口进行交互
            对话框是模态还是非模态,可以在创建JDialog对象时为构造方法传入参数来设置,也可以在创建Jdialog的对象             后调用它的setModal()方法来进行设置
            
     * 常用构造方法
            【JDialog(Frame owner)     
               构造方法,用来创建一个非模态的对话框,owner为对话框的所有者(顶级容器Frame)】
            【JDialog(Frame owner,String title) 
                构造方法,创建一个具有指定标题的非模态对话框】
            【JDialog (Frame owner, boolean modal)
            创建一个有指定的无标题对话框,默认值为false(即得模式对话框)】
            
         * JDialog创建的开窗口右上角没有放大和缩小的功能

Swing的面板组件

      * swing组件中提供了一些面板组件(中间容器),这些面板不能单独存在,只能放置在顶级窗口容器中。
      * 常见面板组件:
            - JPanel
              JPanel面板组件是一个无边框,不能被移动、放大、缩小、关闭的面板。它的默认布局管理器是FlowLayout
            - JScrollPane
              1. 是一个带有滚动条的面板容器,且只能添加一个组件
              2. 想向JScrollPane面板中添加多个组件,应先将这个组件添加某个组件中,然后将这个组件添加到JScroll
            
      * 面板组件——JScrollPane常用的构造方法
            - JScrollPane()
              创建一个空的JScrollPane面板
            - JScrollPane(Component view)
               创建一个显示指定的组件的JScrollPane面板,只要组件的内容超过视图打小就会显示水平和垂直滚动条
            -  JScrollPane(Component view,

int vsbPolicy,int hsbPolicy)
创建一个显示指定容器、并具有指定滚动条策略的JScrollPane。参数
vsbPolicy和hsbPolicy分别表示垂直滚动条策略和水平滚动条策略

     *  面板组件——JScrollPane设置面板滚动策略的方法          
         - void setHorizontalBarPolicy(int policy)   
            指定水平滚动条策略,即水平滚动条何时显示在滚动面板上
        - void setVerticalBarPolicy(int policy)
           指定垂直滚动条策略,即垂直滚动条何时显示在滚动面板上
       - void setViewportView(Component view) 
          设置在滚动面板显示的组件    
     *   
      1.VERTICAL_SCROLLBAR_AS_NEEDED
     HORIZONTAL_SCROLLBAR_AS_NEEDED
    当填充的组件视图超过客户端窗口大小时,自动显示水

平和竖直放行滚动条(JscrollPane组件的默认值)

   2.VERTICAL_SCROLLBAR_ALWAYS
   HORIZONTAL_SCROLLBAR_ALWAYS
  无论填充的组件视图大小,始终显示水平和竖直        放行滚动条
  3.VERTICAL_SCROLLBAR_NEVER
      HORIZONTAL_SCROLLBAR_NEVER
     无论填充的组件视图大小,始终不显示水平和   竖直放行滚动

文本组件

  1. 文本组件:文本组件用于接收用户输入的信息,包括本文框(JTextField)、文本域(JTextArea)等
    注意:他们都有一个共同的父类JTextComponent,JTextComponent是一个抽象类

  2. 常用方法

    • String getText() 返回文本组件中所有的文本内容
  • String getSelectedText() 返回文本组件中选定的文本内容
  • void selectAll() 在文本组件中选中所有内容
  • void setEditable() 设置文本组件为可编辑或者不可编辑状态
  • void setText(String text) 设置文本组件的内容 – void replaceSelection(String content) 用给定的内容替换当前选定的内容
  1. 文本组件——JTextArea
    定义:JTextArea称为文本域,它能接收多行文本的输入,使用JTextArea构造方法创建时设定区域的行数、列数

    常用的构造方法

    • JTextArea() 构造方法,创建一个空的文本域
  • JTextArea(String text) 构造方法,创建显示指定初始字符串的文本域
  • JTextArea(int rows,int columns) 构造方法,创建具有指定行和列的空的文本域
  • JTextArea(String text,int rows,int columns) 构造方法,创建显示指定初始文本并指定了行列的文本域

标签组件

 定义:标间组件主要用到的是JLabel,JLabel组件可以显示文本、图像、还可以设置标签内容的垂直和水平对齐方式

 构造方法
 - JLabel() 创建无图像并且其标题为空字符串的JLabel
 - JLabel(Icon image) 创建具有指定图像的JLabel实例
 - JLabel(Icon image, int horizontalAlignment) 创建具有指定图像和水平对齐方式的JLabel实例
 - JLabel(String text) 创建具有指定文本的JLabel实例
 - JLabel(String text, Icon icon,
    int horizontalAlignment) 创建具有指定文本、图像和水平对齐方式的 JLabel 实例
 - JLabel(String text, int horizontalAlignment) 创建具有指定文本和水平对齐方式的 JLabel 实例

按钮组件

  1. 在Swing中常见的按钮组件有JButton、JCheckBox、JRadioButton等,它
    们都是抽象类AbstractButton类的直接或间接子类。

  2. AbstractButton常用方法:

    • Icon getIcon() 获取按钮的图标
  • void setIcon(Icon icon) 设置按钮的图标
  • String getText() 获取按钮的文本
  • void setText(String text) 设置按钮的文本
  • void setEnable(boolean b) 设置按钮是否可用
  • boolean setSelected(boolean b) 设置按钮是否为选中状态
  • boolean isSelected() 返回按钮的状态(true为选中,反之为未选中)
  1. 按钮组件——JCheckBox
    说明:JCheckBox组件被称为复选框组件,它有选中和未选中两种状态,通常复
    选框会有多个,用户可以选中其中一个或者多个。
    常用构造方法
    • JCheckBox() 创建一个没有文本信息,初始状态未被选中的复选框
  • JCheckBox(String text) 创建一个带有文本信息,初始状态未被选定的复选框
  • JCheckBox(String text,boolean selected) 创建一个带有文本信息,并指定初始状态(选中/未选中)
    的复选框
  1. 按钮组件——JRadioButton
    #说明:JRadioButton组件被称为单选按钮组件,单选按钮只能选一个
    #使用:
     要JRadioButton按钮之间的互斥,需要使用ButtonGroup类。
     ButtonGroup是一个不可见的单选按钮组。将多个JRadioButton按钮添加到同
    一个单选按钮组中就能实现JRadioButton按钮的单选功能。
    #常用构造方法
    • JRadioButton () 创建一个没有文本信息、初始状态未被选中的单选框
  • JRadioButton (String text) 创建一个带有文本信息、初始状态未被选定的单选框
  • JRadioButton (String text,boolean selected) 创建一个具有文本信息,并指定初始状态(选中/未选中)
    的单选框

下拉框组件

9.下拉框组件
#定义: JComboBox组件被称为下拉框或者 组合框,它将所有选项折叠在一起,默认
显示的是第一个添加的选项。
 当用户单击下拉框时,会出现下拉式的选择列表,用户可以从中选择其中一
项并显示。
#说明: JComboBox下拉框组件分为可编辑和不可编辑两种形式。
 对于不可编辑的下拉框,用户只能选择现有的选项列表。
 对于可编辑的下拉框,用户既可以选择现有的选项列表,也可以自己输入新
的内容。

注意:自己输入的内容只能作为当前项显示,并不会添加到下拉框的选项列表中。

#JComboBox常用构造方法:
- JComboBox() 创建一个没有可选项的下拉框
- JComboBox(Object[] items) 创建一个下拉框,将Object数组中的元素作为下拉框的下拉列表选项
- JComboBox(Vector items) 创建一个下拉框,将Vector集合中的元素作为下拉框的下拉列表选项
- void addItem(Object anObject) 为下拉框添加选项

  • void insertItemAt(Object anObject,int index) 在指定的索引处插入选项
  • Objct getItemAt(int index) 返回指定索引处选项,第一个选项的索引为0
  • int getItemCount() 返回下拉框中选项的数目
  • Object getSelectedItem() 返回当前所选项
  • void removeAllItems() 删除下拉框中所有的选项
  • void removeItem(Object object) 从下拉框中删除指定选项
  • void removeItemAt(int index) 移除指定索引处的选项
  • void setEditable(boolean aFlag) 设置下拉框的选项是否可编辑,aFlag为true则可编辑,反
    之则不可编

菜单组件——下拉式菜单

  1. 说明:
     计算机中很多文件的菜单都是下拉式的,如记事本的菜单。
     在Swing中,创建下拉式菜单需要使用三个组件:JMenuBar(菜单栏)、
    JMenu(菜单)和JMenuItem(菜单项)

  2. JMenuBar(菜单栏)
     JMenuBar表示一个水平的菜单栏,它用来管理一组菜单,不参与同用户的交
    互式操作。
     菜单栏可以放在容器的任何位置,但通常情况下会使用顶级容器(如JFrame、
    Jdialog)的setJMenuBar()方法将它放置在顶级容器的顶部。
     创建菜单栏时,只需要使用new关键字创建JMenubar对象即可。
     创建完菜单栏对象后,可以调用它的add(JMenu c)方法为其添加JMenu菜单。

  3. JMenu(菜单)
     JMenu表示一个菜单,它用来整合管理菜单项。
     菜单可以是单一层次的结构,也可以是多层次的结构。
     大多情况下,会使用JMenu(String text)构造函数创建JMenu菜单,参数text表
    示菜单上的文本内容。

    JMenu(菜单)——常用方法

    • JMenuItem add(JMenuItem menuItem) 将菜单项添加到菜单末尾,返回此菜单项
  • void addSeparator() 将分隔符添加到菜单的末尾
  • JMenuItem getItem(int pos) 返回指定索引处的菜单项,第一个菜单项的索引为0
  • int getItemCount() 返回菜单上的项数,菜单项和分隔符都计算在内
  • JMenuItem insert(JmenuItem menuItem,int pos) 在指定索引处插入菜单项
  • void insertSeparator(int pos) 在指定索引处插入分隔符
  • void remove(int pos) 从菜单中移除指定索引处的菜单项
  • void remove(JMenuItem menuItem) 从菜单中移除指定的菜单项
  • void removeAll() 从菜单中移除所有的菜单项

4.JMenuItem(菜单项)
 JMenuItem表示一个菜单项,它是菜单系统中最基本的组件。
 通常会使用JMenumItem(String text)这个构造方法为菜单项指定文本内容。
 JMenuItem继承自AbstractButton类,因此可以把它看成是一个按钮。
 如果使用无参的构造方法创建了一个菜单项,则可以调用从AbstractButton类
中继承的setText(String text)方法和setIcon()方法为其设置文本和图标。

菜单组件——弹出式菜单

  1. 说明:
     例如在Windows桌面单击鼠标右键会出现一个菜单,这就是弹出式菜单。
     在Swing组件中,弹出式菜单可以用JPopupMenu来实现。
    使用:
     JPopupMenu弹出式菜单同样通过调用add()方法添加JMenuItem菜单项,但
    它默认是不可见的。
     想要显示弹出式菜单,必须调用show(Component invoker,int x,int y)方法。参
    数invoker表示JPopupMenu菜单显示位置的参考组件,x和y表示invoker组件
    坐标空间中的一个坐标,显示的是JPopupMenu菜单的左上角坐标。

## 布局管理器

  1. 说明:Swing组件不能单独存在,必须放置于容器当中,而组件在容器中的位置
    和尺寸是由布局管理器来决定的。

2.分类:
GridBagLayout(网格包布局管理器)
GridLayout(网格布局管理器)
GroupLayout(分组布局管理器)
SpringLayout(弹性布局管理器)
BorderLayout(边界布局管理器)
BoxLayout(箱式布局管理器)
CardLayout(卡片布局管理器)
FlowLayout(流式布局管理器

BorderLayout

  1. 说明:
     BorderLayout(边界布局管理器)是一种较为复杂的布局方式,它将容器划
    分为五个区域,分别是页头(PAGE_START)、页尾(PAGE_END)、行
    首(LINE_START)、行尾(LINE_END)、中部(CENTER)。
     组件可以被放置在这五个区域中的任意一个位置。

2.使用:
 向BorderLayout布局管理器的容器中添加组件时,需要使用add(Component
comp,Object constraints)方法。
 参数comp表示要添加的组件,constraints指定将组件添加到布局中的位置,
它是一个Object类型。
 传参时可以使用BorderLayout类提供的5个常量设置组件位置,它们分别是
PAGE_START、PAGE_END、LINE_START、LINE_END和CENTER。

3.说明:
 BorderLayout的好处就是可以限定各区域的边界,当用户改变容器窗口大小
时,各个组件的相对位置不变。
 向BorderLayout的布局管理器添加组件时,如果不指定添加到哪个区域,则
默认添加到CENTER区域。
 每个区域只能放置一个组件,如果向一个区域中添加多个组件时,后放入的
组件会覆盖先放入的组件。

FlowLayout

  1. 说明:
     FlowLayout(流式布局管理器)是最简单的布局管理器。
     在这种布局下,容器会将组件按照添加顺序从左向右放置,当到达容器的边
    界时,会自动将组件放到下一行的开始位置。
     这些组件可以按左对齐、居中对齐(默认方式)或右对齐的方式排列。

2.构造方法

  • FlowLayout() 组件默认居中对齐,水平、垂直间距默认为5个单位
  • FlowLayout(int align) 指定组件相对于容器的对齐方式,水平、垂直间距默认为5
    个单位
  • FlowLayout(int align,int hgap,int vgap) 指定组件的对齐方式和水平、垂直间距

说明:
 参数align决定组件在每行中相对于容器边界的对齐方式,分别为左对齐、右
对齐、居中对齐。
 对齐方式可以使用该类中提供的常量FlowLayout.LEFT、FlowLayout.RIGHT、
FlowLayout.CENTER表示。
 参数hgap和参数vgap分别设定组件之间的水平和垂直间距,可以填入一个任
意数值。

GridLayout

  1. 说明:
     GridLayout(网格布局管理器)使用纵横线将容器分成n行m列大小相等的网
    格,每个网格中可以添加一个组件。
     添加到容器中的组件会从左向右、从上向下依次填充到网格中。
     与FlowLayout不同的是,放置在GridLayout布局管理器中的组件将自动占据
    网格的整个区域

2.构造方法

  • GridLayout() 默认只有一行,每个组件占一列
  • GridLayout(int rows,int cols) 指定容器的行数和列数
  • GridLayout(int rows,int cols,int hgap,int vgap) 指定容器的行数和列数以及组件之间的水平、垂直间距

说明:参数rows代表行数,cols代表列数,hgap和vgap规定窗格之间水平和垂
直方向的间距。

特点:组件的相对位置不随区域的缩放而改变,但组件的大小会随之改变,组件
始终占据网格的整个区域。

缺点:总是忽略组件的最佳大小,所有组件的宽高都相同。

事件处理机制

  1. 定义:Swing组件中的事件处理专门用于响应用户的操作,例如,响应用户的单
    击鼠标、按下键盘等操作。

  2. wing事件处理涉及的三类对象:

    • 事件源(Event Source)
      事件发生的场所,通常就是产生事件的组件,例如:窗口、按钮、菜单等。
    • 事件对象(Event)
      封装了GUI组件上发生的特定事件(通常就是用户的一次操作)
    • 监听器(Listener)
      负责监听事件源上发生的事件,并对各种事件做出相应处理的对象(对象中包含事件
      处理器)。

说明:事件源是一个组件,当用户进行一些操作时,如按下鼠标或者释放键盘等,
都会触发相应的事件,如果事件源注册了监听器,则触发的相应事件将会被处理。

  1. 1、创建事件源
    除了一些常见的按钮、键盘等组件可以作为事件源外,包括JFrame窗口在内的顶级容器也可以作为事件源;
    2、自定义事件监听器
    根据要监听的事件源创建指定类型的监听器进行事件处理,该监听器是一个特殊的Java类,必须实现XxxListener接口(根据组件触发的动作进行区分,如WindowListener用于监听窗口事件,ActionListener用于监听动作事件);

3、为事件源注册监听器
使用addXxxListener()方法为指定事件源添加特定类型的监听器。当事件源上发生监听的事件后,就会触发绑定的事件监听器,然后由监听器中的方法进行相应处理

  1. Swing常用事件处理
    • 主要事件分类
      * 窗体事件(WindowEvent)
      1.1 说明:
       对窗体进行操作时,例如窗体的打开、关闭、激活、停用等,这些动作都属
      于窗体事件。
       Java中提供了一个WindowEvent类用于表示窗体事件。
      使用:
       首先需要定义一个实现了WindowListener接口的类作为窗体监听器;
       然后通过addWindowListener()方法将窗体对象与窗体监听器进行绑定。

      *  鼠标事件(MouseEvent)
             说明:
                  用户会经常使用鼠标来进行选择、切换界面等操作,这些操作被定义为鼠标
      

事件,其中包括鼠标按下、鼠标松开、鼠标单击等。
 Java中提供了一个MouseEvent类用于表示鼠标事件。
 几乎所有的组件都可以产生鼠标事件。
使用:
 首先需要通过实现MouseListener接口定义监听器(也可以通过继承适配器
MouseAdapter类来实现);
 然后调用addMouseListener()方法将监听器绑定到事件源对象。
注意:
 MouseEvent类中定义了很多常量来识别鼠标动作。
 MouseEvent.BUTTON1:用来判定鼠标左击事件;
 MouseEvent.BUTTON3:用来判定鼠标右击事件;
 MouseEvent.BUTTON2:用来判定鼠标滚轮点击事件;

      *  键盘事件(KeyEvent)
                说明:
                 键盘操作也是最常用的用户交互方式,例如键盘按下、释放等,这些操作被

定义为键盘事件。
 Java中提供了一个KeyEvent类表示键盘事件。
使用:
 处理键盘事件的监听器对象需要实现KeyListener接口或者继承KeyAdapter类;
 然后调用addKeyListener()方法将监听器绑定到事件源对象。

      *  动作事件(ActionEvent)
            说明:
             动作事件与前面三种事件有所不同,它不代表某类事件,只是表示一个动作

发生了。
 例如,在关闭一个文件时,可以通过键盘关闭,也可以通过鼠标关闭。
 在Java中,动作事件用ActionEvent 类表示。
使用:
处理动作事件的监听器对象需要实现ActionListener接口

Java 图形界面开发简介 .............. ................................ ................................ ..... 5 1. Swing1. Swing1. Swing 1. Swing1. Swing1. Swing1. Swing简介 ................................ ................................ ................................ ................................ ............... 5 2. Swing2. Swing2. Swing 2. Swing2. Swing2. Swing2. Swing组件 ................................ ................................ ................................ ................................ ............... 5 3. 3. 3. 布局管理器 布局管理器 ................................ ................................ ................................ ................................ ............. 8 4. 4. 4. 代码实例 代码实例 : 一个简单的窗口程序 一个简单的窗口程序 一个简单的窗口程序 一个简单的窗口程序 一个简单的窗口程序 ................................ ................................ ................................ ..... 9 1.1: FlowLayo1.1: FlowLayo1.1: FlowLayo1.1: FlowLayo1.1: FlowLayo 1.1: FlowLayo 1.1: FlowLayout (流式布局) (流式布局) (流式布局) (流式布局) ................................ ................................ ................................ ...................... 10 1. 概述 ................................ ................................ ................................ ................................ ....................... 10 2. 代码实例 ................................ ................................ ................................ ................................ .............. 11 1.2: GridLayout(网格布局) (网格布局) (网格布局) (网格布局) ................................ ................................ ................................ ..................... 13 1. 概述 ................................ ................................ ................................ ................................ ....................... 13 2. 代码演示 ................................ ................................ ................................ ................................ .............. 14 1.3: GridBagLayout1.3: GridBagLayout1.3: GridBagLayout1.3: GridBagLayout1.3: GridBagLayout 1.3: GridBagLayout 1.3: GridBagLayout1.3: GridBagLayout 1.3: GridBagLayout1.3: GridBagLayout 1.3: GridBagLayout1.3: GridBagLayout(网格袋布局) (网格袋布局) (网格袋布局) (网格袋布局) ................................ ................................ ................................ ........... 17 1. 布局 : GridBagLayout ................................ ................................ ................................ ...................... 17 2. 约束 : GridBagConstraints ................................ ................................ ................................ ............. 17 3. 属性 : GridBagConstraints 的属性 ................................ ................................ ............................. 18 4. 案例 : GridBagLayout使用实例 使用实例 ................................ ................................ ................................ ... 19 1.4: BoxLayout1.4: BoxLayout1.4: BoxLayout1.4: BoxLayout1.4: BoxLayout 1.4: BoxLayout1.4: BoxLayout1.4: BoxLayout 1.4: BoxLayout1.4: BoxLayout(箱式布局) (箱式布局) (箱式布局) (箱式布局) ................................ ................................ ................................ ........................ 25 1. 概述 ................................ ................................ ................................ ................................ ....................... 25 2. 代码实例 ................................ ................................ ................................ ................................ .............. 27 1.5: GroupLayout(分组布局) (分组布局) (分组布局) ................................ ................................ ................................ ................. 29 1. 概述 ................................ ................................ ................................ ................................ ....................... 29 2. 代码实例 ................................ ................................ ................................ ................................ .............. 31 1.6: CardLayout(卡片布局) (卡片布局) (卡片布局) ................................ ................................ ................................ .................... 36 1. 概述 ................................ ................................ ................................ ................................ ....................... 36 2. 代码实例 ................................ ................................ ................................ ................................ .............. 37 1.7: BorderLayout(边界布局) (边界布局) (边界布局) ................................ ................................ ................................ ................ 40 1. 概述 ................................ ................................ ................................ ................................ ....................... 40 2. 代码实例 ................................ ................................ ................................ ................................ .............. 41 1.8: SpringLayout(弹性布局) (弹性布局) (弹性布局) ................................ ................................ ................................ ................ 43 1. 概述 ................................ ................................ ................................ ................................ ....................... 43 2. 代码实例 ................................ ................................ ................................ ................................ .............. 47 1.9: null(绝对布局) (绝对布局) (绝对布局) ................................ ................................ ................................ ................................ .... 52 1. 概述 ................................ ................................ ................................ ................................ ....................... 52 2. 代码实例 ................................ ................................ ................................ ................................ .............. 53 2.1: JLabel(标签) (标签) (标签) ................................ ................................ ................................ ................................ ....... 56 1. 概述 ................................ ................................ ................................ ................................ ....................... 56 2. 代码实例 ................................ ................................ ................................ ................................ .............. 61 2.2: JButton(按钮) (按钮) (按钮) ................................ ................................ ................................ ................................ ..... 64 1. 概述 ................................ ................................ ................................ ................................ ....................... 64 2. 代码实例 : 默认按钮 默认按钮 ................................ ................................ ................................ ........................ 66 3. 代码实例 : 自定义图片按钮 自定义图片按钮 自定义图片按钮 自定义图片按钮 ................................ ................................ ................................ .......... 68 2.3: JRadioButton(单选按钮) (单选按钮) (单选按钮) ................................ ................................ ................................ ................ 71 2 1. 概述 ................................ ................................ ................................ ................................ ....................... 71 2. 代码实例 ................................ ................................ ................................ ................................ .............. 73 2.4: JCheckBox(复选框) (复选框) (复选框) ................................ ................................ ................................ ......................... 75 1. 概述 ................................ ................................ ................................ ................................ ....................... 75 2. 代码实例 ................................ ................................ ................................ ................................ .............. 77 2.5: JToggleButton(开关按钮) (开关按钮) (开关按钮) ................................ ................................ ................................ .............. 80 1. 概述 ................................ ................................ ................................ ................................ ....................... 80 2. 代码实例 : 默认 的开关按钮 的开关按钮 的开关按钮 ................................ ................................ ................................ .......... 82 3. 代码实例 : 自定义图片开关 自定义图片开关 自定义图片开关 自定义图片开关 ................................ ................................ ................................ .......... 84 2.6: JTextField(文本框) (文本框) (文本框) ................................ ................................ ................................ ........................... 87 1. 概述 ................................ ................................ ................................ ................................ ....................... 87 2. 实例代码 ................................ ................................ ................................ ................................ .............. 91 2.7:PasswordField(密码框) (密码框) (密码框) ................................ ................................ ................................ ................... 93 1. 概述 ................................ ................................ ................................ ................................ ....................... 93 2. 代码实例 ................................ ................................ ................................ ................................ .............. 96 2.8: JTextArea(文本区域) (文本区域) (文本区域) (文本区域) ................................ ................................ ................................ ....................... 98 1. 概述 ................................ ................................ ................................ ................................ ....................... 98 2. 代码实例 ................................ ................................ ................................ ................................ ............ 103 2.9: JComboBox(下拉列表框) (下拉列表框) (下拉列表框) ................................ ................................ ................................ ............ 105 1. 概述 ................................ ................................ ................................ ................................ ..................... 105 2. 代码实例 ................................ ................................ ................................ ................................ ............ 107 2.10: JList(列 表框) 表框) ................................ ................................ ................................ ................................ .. 110 1. 概述 ................................ ................................ ................................ ................................ ..................... 110 2. 代码实例 ................................ ................................ ................................ ................................ ............ 113 2.11: JProgressBar(进度条) (进度条) (进度条) ................................ ................................ ................................ ................ 117 1. 概述 ................................ ................................ ................................ ................................ ..................... 117 2. 代码实例 ................................ ................................ ................................ ................................ ............ 119 2.12: JSlider(滑块) (滑块) (滑块) ................................ ................................ ................................ ................................ .. 123 1. 概述 ................................ ................................ ................................ ................................ ..................... 123 2. 代码实例 : 默认刻度值 默认刻度值 默认刻度值 ................................ ................................ ................................ .................. 126 3. 代码实例 : 自定义标签刻度值 自定义标签刻度值 自定义标签刻度值 自定义标签刻度值 ................................ ................................ ................................ .... 128 3.1: JPanel(面板) (面板) ................................ ................................ ................................ ................................ ..... 132 1. 概述 ................................ ................................ ................................ ................................ ..................... 132 2. 代码实例 ................................ ................................ ................................ ................................ ............ 133 3.2: JScrollPane(滚动面板) (滚动面板) (滚动面板) (滚动面板) ................................ ................................ ................................ ................. 135 1. 概述 ................................ ................................ ................................ ................................ ..................... 135 2. 代码实例 ................................ ................................ ................................ ................................ ............ 138 3.2: JScrollPane(滚动面板) (滚动面板) (滚动面板) (滚动面板) ................................ ................................ ................................ ................. 140 1. 概述 ................................ ................................ ................................ ................................ ..................... 140 2. 代码实例 ................................ ................................ ................................ ................................ ............ 142 3.4: JTabbedPane(选项卡面板) (选项卡面板) (选项卡面板) (选项卡面板) ................................ ................................ ................................ ......... 145 1. 概述 ................................ ................................ ................................ ................................ ..................... 145 2. 代码实例 ................................ ................................ ................................ ................................ ............ 149 3.5: JLayeredPane(层级面板) (层级面板) (层级面板) ................................ ................................ ................................ ............
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值