首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    12.6事件处理

    事件处理的模型主要是在程序获得事件后,采用怎么样的结构和机制对事件进行处理和响应。...事件:当用户在界面上执行一个操作,如按下键盘、单击或移动鼠标对窗口中的组件进行交互时所发生的事情。事件可以由外部用户操作触发,如单击按钮、单击鼠标等。事件也可以由操作系统触发,如时钟计数器等。..."); } } 注册监听器,调用组件的addXXXListener()方法,在组件上将监听器类的实例注册为监听器。...jButton=new JButton("事件源"); addActionListener(e -> { showMessageDialog(null,"处理事件"); }); add(jButton...Swing提供了滚动窗格类JScrollPane,专门用来处理具有滚动功能的组件,只需要创建一个JScrollPane对象,并为其指定一个要显示的组件即可使用滚动窗格。

    13110

    java swing一篇轻松学习(高考后可以自学)

    方法名及返回值类型 说明 Component add(Component comp) 将指定的组件追加到此容器的尾部 void remove(Component comp) 从容器中移除指定的组件 void...text) 设置按鈕的文本 void setMargin(Insets m) 设置按钮边框和标签之间的空白 void setMnemonic(int nmemonic) 设置按钮的键盘快捷键,所设置的快捷键在实际操作时需要结合...list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); scrollPane.setViewportView(list); //在滚动面板中显示列表...mi,int pos) 在给定位置插入指定的 JMenuitem insert(String s,pos) 在给定位置插入具有指定文本的新菜单项 insertSeparator(int index) 在指定的位置插入分隔符...tableHeader) 将此 JTable 所使用的 tableHeader 设置为 newHeader setUpdateSelectionOnSort(boolean update) 指定排序后是否应该更新选择

    9.6K10

    Java常用事件监听器与实例分析

    我们知道在Java窗体中的组件,本身是不具备任何功能的,因此我们必须要给控件添加相应的事件监听,才能在界面中触发相应的事件处理,今天就来和大家分享一下在Java中常用的几个事件监听器。...在swing事件模型中由三个分离的对象完成对事件的处理,分别为事件源、事件和监听程序,由事件源触发一个事件,它由一个或多个监听器进行监听,并且由监听器触发事件并执行相应的事件。...动作时间监听器 动作事件(ActionEvent)监听器是swing中比较常用的一种监听器,在Java窗体中很多事件都需要使用它来进行监听,如我们常见的按钮点击事件等,以下是动作事件监听器的接口和常见的事件源...在使用焦点事件监听器时,需要注意以下几点: 使用该监听器需要实现FocusListener接口 该接口中重写的focusLost()方法是在组件失去焦点时调用的。...该接口中重写的focusGained()方法是在组件获得焦点时调用的。 一般情况下,为事件源做监听事件应使用匿名内部类的形式。 觉得有用记得点赞关注哟!

    2.6K10

    《Java 2 图形设计卷Ⅱ- SWING》第2章 Swing的基本知识

    Swing是线程不安全的,这就是说,在大多数情况下,只能从事件派发线程中访问Swing组件。...虽然可以分别使用Applet类和Frame类来实现Swing的小应用程序和应用程序,但是,这样很可能出现事件处理问题和重新绘制问题。...如果没有调用super.paint(),则不会重新绘制面板中的轻量Swing按钮。  ...然而,有时可能需要从事件派发线程以外的线程中更新Swing组件。例如,如果上述项目列表中包含了很多来自数据库或Internet的数据,则可能在按钮激活后还要等一段时间才能看到更新的列表。...另外,除事件派发线程外的其他线程可以调度在事件派发线程上实现的可运行对象。  Swing是一个可靠的、工业标准的用户界面工具包,比AWT大有改进。

    2.5K20

    比较Swing中三种注册事件的方法

    Swing 是目前Java中不可缺少的窗口工具组,是建立图形化用户界面(GUI)程序的强大工具。Java Swing组件自动产生各种事件来响应用户行为。...Java将事件封装成事件类,并且为每个事件类定义了一个事件监听器。一个组件注册事件监听器方法,表明该组件要响应指定事件。...Java Swing中处理各组件事件的一般步骤是: 1. 新建一个组件。 2. 该组件添加到相应的面板。 3....由于它是和事件组一起的。根据事件组在代码中的位置不同,类的定义以及处理事件,同样不便于阅读。如果事件处理程序比较复杂,内部类中的代码就会变的很长。...它把所有的事件处理方法都集中在一块,并且都具有有意义的名称,程序非常容易阅读与维护。单个的事件处理程序也可以被工具栏、菜单栏等重复使用。

    1.1K60

    swing.2窗体控件

    12.2.1 JFrame JFrame窗体是一个容器,它是一个独立拥有标题栏和尺寸重置图标的窗口组件,是Swing程序中各个组件的载体,可以将它看作是承载这些Swing组件的容器。...可以通过继承JFrame类创建一个窗口,在这个窗口中添加组件,同时为组件设置事件,拥有最大化、最小化、关闭的按钮。 JFrame类常用的方法如表12.1所示。...模态对话框是指用户需要等到对话框处理完毕后才能与其他窗口交互,而非模态对话框允许用户在使用对话框同时与其他窗口交互。...JDialog是Swing组件中的对话框,它继承了AWT组件中的Dialog类,它的功能是从一个窗体中弹出另一个窗体。JDialog类常用的构造方法如表12.2所示。...jButton1 = new JButton("调用JDialog模态对话框窗口"); add(jButton1); // 添加按钮 JButton jButton2 = new JButton("调用

    8010

    Java中规模软件开发实训——掌握财务自由的关键!解锁智能家庭记账系统的神奇力量!(家庭记账软件)

    (5)清空记录按钮:用于清空输入的数据,用于重新输入新的数据。 点击确认按钮进行录入信息的清除。 信息清楚成功,再次点击收支明细按钮进行检验。 信息清除完毕。...panel = new JPanel(new GridLayout(2, 2)); // 创建一个面板,使用网格布局 panel.add(new JLabel("收入来源:")); // 在面板中添加标签组件...panel.add(sourceField); // 在面板中添加收入来源文本框 panel.add(new JLabel("金额:")); // 在面板中添加标签组件...panel = new JPanel(new GridLayout(2, 2)); // 创建一个面板,使用网格布局 panel.add(new JLabel("支出类别:")); // 在面板中添加标签组件...panel.add(categoryField); // 在面板中添加支出类别文本框 panel.add(new JLabel("金额:")); // 在面板中添加标签组件

    20010

    Swing图形界面程序设计.1Swing概述

    因为AWT不再是图形界面开发的主流,所以,本书该章节将只针对图形用户界面的Swing以及事件类、事件接口进行讲解。...12.1 Swing概述 设计Java图形用户界面的基本元素主要由图形用户界面工具包Swing提供,Swing包是AWT之后一套新的图形用户接口,包括用户界面组件、事件处理模型、图形和图像工具、布局管理器等...12.1.1 Swing特点 Swing具有如下特点: 组件的多样性:Swing提供了很多新的图形用户界面组件,除了和AWT之前类似的JButton、JLabel等基本组件外,还增加了丰富的高级组件,如...使用图标:Swing可以在组件上使用图标对组件进行修饰。...在Swing组件类中,除JFrame、JApplet和JDialog都是JComponent类的子类,例如JButton、JTextArea、JList和JMenu等。

    14110

    Java-GUI编程之Swing组件

    为组件设置边框 很多情况下,我们常常喜欢给不同的组件设置边框,从而让界面的层次感更明显,swing中提供了Border对象来代表一个边框,下图是Border的继承体系图: ​ 特殊的Border:...,需要传入其他两个Border对象,一个作为内边框,一个座位外边框 给组件设置边框步骤: 使用BorderFactory或者XxxBorder创建Border的实例对象; 调用Swing组件的setBorder...(Border b)方法为组件设置边框; 案例: ​ 请使用Border实现下图效果: ​ 演示代码: import javax.swing.*; import javax.swing.border...,而这里add方法是在给工具条添加一个工具按钮,为什么传递的是一个事件监听器呢? ​...: 创建一个适用于该容器的组件(例如,在工具栏中创建一个工具按钮); 从 Action 对象中获得对应的属性来设置该组件(例如,通过 name 来设置文本,通过 lcon 来设置图标) ; 把Action

    2.3K20

    swing之常见组件

    12.3.1 JLabel 标签是用来在窗口中显示文字或图像的控件,由javax.swing包中的JLabel类创建。...创建完的Label对象可以通过Container类中的add()方法,加入到容器中,JLabel不会对输入事件做出反应,因此它无法获得键盘焦点。JLabel类的常用方法如表12.5所示。...例12-4运行结果 案例12-5中,在运行结果上显示一个空的JFrame窗口,在该窗口上显示一个JLable的标签,第7行代码用来将JLablel对象添加到JFrame窗口上。...Swing中常见的按钮组件包含提交按钮(JButton)、单选按钮(JRadioButton)和复选框(JCheckBox)等,它们都继承自AbstractButton抽象类。...这些组件在实际开发中应用广泛,接下来对这些组件逐个讲解。 提交按钮由JButton对象创建,它的常见方法如表12.6所示。

    6310

    Swing的介绍

    Swing开发图形界面有如下优势 : Swing组件不再依赖于本地平台的GUI,无须采用各种平台的GUI交集,因此Swing提供了大量图形界面组件,远远超出了AWT所提供的图形界面组件集....Swing组件不再依赖于本地平台GUI,因此不会产生与平台相关的bug. Swing组件在各种平台上运行时可以保证具有相同的图形界面外观....)用于控制对于各种事件,组件做出怎样的响应.当模型发送改变时,它会通知所有依赖它的视图,视图会根据模型数据更新自己.Swing使用UI代理来包装视图和控制器,还有另一个模型对象来维护该组件的状态.例如..., 按钮JButton有一个维护其状态信息的模型ButtonModel对象,Swing组件的模型是自动设置的,因此一般都使用JButton,而无须关系ButtonModel对象.因此, Swing组件的模型是自动设置的...,因此一般都使用JButton,而无须关系ButtonModel对象.因此,Swing的MVC实现也被称为Model-Delegate(模型--代理)

    1.1K20

    Java-GUI 编程之 Swing

    Swing 组件不再依赖于本地平台 GUI ,因此不会产生与平台 相关的 bug 。 Swing 组件在各种平台上运行时可以保证具有相同的图形界面外观。...是组件的可视化表现; 控制器(Controller):用于控制对于各种事件、组件做出响应 。  ...Swing组件的模型是自动设置的,因此一般都使用JButton,而无须关心ButtonModel对象。 2.Swing在不同的平台上表现一致,并且有能力提供本地平台不支持的显示外观 。...为了允许在 Swing 组件中使用图标, Swing为Icon 接口提供了 一个实现类: Imagelcon ,该实现类代表一个图像图标。 支持插拔式的外观风格。...每个 Swing 组件都有一个对应的UI 类,例如 JButton组件就有一个对应的 ButtonUI 类来作为UI代理 。

    2.4K10

    java swing开发窗体程序开发(一)GUI编程

    :复选框 JRadioButton:单选框-需要归组后才能实现单选 JComboBox:下拉列表 JPasswordField:密码框 需要注意的是,这些组件new出来后,是不会显示的,要将其添加...对于同层的,后来的会覆盖新来的 //使用add(Component, layer)可以添加组件并设置值 setLayer(Component c,int layer));//可以重新设置layer...这些组件层叠的放在一起,只有最前面可以显示。 顺序并不是栈,而是队列,即第一个添加进去的组件,显示在最前面,后面的一次往后排。...且显示出来的组件将会占据该容器的所有空间 使用该种布局的容器在添加组件时 add(String s,Component c) s只是一个代号,方便以后显示这个组件时找到 cardlayout对象...下面介绍最重要的”事件” 可以关注我的博客,观看后续学习记录 下一节:java swing 窗体程序开发(二)事件(Action,Item,Document) https://blog.csdn.net

    3K30
    领券