12.3.1 JPopMenu 弹出式菜单,如果要在Java中实现此菜单,可以使用JPopupMenu菜单组件,先来了解一下它的常用方法,如表12.15所示。...JPopupMenu类的常用方法 构造方法 功能描述 public JPopupMenu() 构造一个不带“调用者”的 JPopupMenu。...public JPopupMenu(String label) 构造一个具有指定标题的 JPopupMenu。...public JMenuItem add(JMenuItem item) 将菜单项添加到弹出式菜单的末尾,设置弹出式菜单的可见性 表12.15中列出了JPopupMenu类的构造方法,它的常用方法和JMenu...jpm = new JPopupMenu(); // 创建菜单 8 // 创建两个菜单项 9 JMenuItem item1 = new JMenuItem("保存"); 10 JMenuItem
使用这种菜单项,你不需要立刻得到用户选择菜单项的通知。取而带之的是,使用isSelected方法来测试菜单项的当前状态。事例中有代码。 ...JPopupMenupopup=new JPopupMenu(); 接着用常规方法添加菜单项: JMenuItemitem=new JMenuItem("Cut"); item.addActionListener...启用或禁用菜单项需要使用setEnabled方法: saveItem.setEnabled(false); JApplet的概念 JApplet是能够嵌入到一个HTML页面中,并且可通过Web浏览器下载和执行的一种...本模块分析了JApplet如何运行,如何被装载到浏览器中,以及它是如何编写的。 JApplet的安全性 由于通过网络装载,Applet的代码具有一种内在的危险性。...JDK1.2提供了一种方式,它指定了一个特殊的"保护域"或一个特殊Applet运行的安全性环境。
Swing 组件可以设置一个或多个边框。 Swing 中提供了各式各样的边框供用户边 用,也能建立组合边框或自己设计边框。...("注释"); JMenuItem cancelItem = new JMenuItem("取消注释"); // 定义一个右键菜单,用于设置程序的外观风格 JPopupMenu...pop = new JPopupMenu(); // 定义一个ButtongGroup对象,用于组合风格按钮,形成单选 ButtonGroup flavorGroup = new ButtonGroup...如果强制 JFrame 更新,则有可能导致该窗口失去标题栏和边框 。 3.给组件设置右键菜单,不需要使用监听器,只需要调用setComponentPopupMenu()方法即可,更简单。...4.关闭JFrame窗口,也无需监听器,只需要调用setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)方法即可,更简单。
用户可以通过按住 Ctrl 键并滚动鼠标滚轮来放大或缩小代码编辑器中的文本内容。...lineNumberArea.setFocusable(false);//lineNumberArea.setFocusable(false); 将 lineNumberArea 设置为不可获取焦点,意味着用户无法通过点击或键盘操作将焦点聚焦在该文本区域上...openItem = new JMenuItem("打开"); // 创建打开菜单项 JMenuItem saveItem = new JMenuItem("保存");...读取文件完成后,关闭文件读取器 (reader.close())。...* 根据编译结果显示编译成功或编译失败的消息对话框。
4.4: JColorChooser(颜色选择器) JavaSwing_4.5: JMenuBar(菜单栏) JavaSwing_4.6: JToolBar(工具栏) JavaSwing_4.7: JPopupMenu...JavaSwing_5.5: 拖拽功能 JavaSwing_5.6: 系统托盘(System Tray) JavaSwing_5.7: 闪屏(Splash Screen) 6 其他相关 Java绘图: 使用...Graphics类绘制线段、矩形、椭圆/圆弧/扇形、图片、文本 Java图片操作 — 图片的读取、绘制、缩放、裁剪、保存 Java代码截屏:使用 Java 代码截取电脑屏幕并保存 Java模拟鼠标键盘输入事件...— Robot 类 Java操作桌面应用 — Desktop 类 Java操作系统剪贴板(Clipboard)实现复制和粘贴 7 更多操作 如何在Swing组件中使用HTML 8 事件及其监听器...焦点事件及其监听器 - FocusEvent,FocusListener
在我们的应用开始播放音频之前,它需要先请求音频焦点,然后再获取到音频焦点。另外,它还需要知道如何监听失去音频焦点的事件并对此做出合适的响应。...通常情况下,一个应用在失去音频焦点时会立即关闭它的播放声音。...如果有另一个应用像上述那样请求音频焦点,它所请求的永久音频焦点或者短暂音频焦点(支持Ducking或不支持Ducking),都会被你在请求获取音频焦点时所注册的监听器接收到。...如何响应失去焦点事件,取决于失去焦点的方式。 在音频焦点的监听器里面,当接受到描述焦点改变的事件时会触发onAudioFocusChange()回调方法。...系统会广播一系列的Intent来向你告知用户在使用音频过程当中的各种变化。下节课会演示如何监听这些广播并提升用户的整体体验。 ----
此系统是使用Java语言实现简易写字板程序,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切,全选,撤销等多种基本功能。...public void windowClosing(WindowEvent e){ 70 71 System.out.println("程序关闭...在打开,保存或保存操作时,可以打开,保存或保存各种文档格式,并且可以无格式存储,易于与其他文档转换软件一起使用,文档属性。 2.3.4 编辑模块的代码实现 ?...写字板是在Windows XP系统环境下开发的,使用由JDK提供的Sun和JCreator软件。...3.4 异常处理 在程序代码的操作中很可能产生异常或异常事件,为了避免这种情况,您需要在程序中使用Java异常处理机制。 在这个程序中运用进行的异常处理机制是try_catch。
(true或false)表示窗体是否可以由用户调整大小; setLocationRelativeTo()表示设置窗口相对于指定组件的位置。...item04 = new JMenuItem("游戏规则"); private JMenuItem item05 = new JMenuItem("关于"); private JMenuBar mb...选中菜单中的复选框可将控件的状态从打开更改为关闭或从关闭更改为打开。...四、总结 1.主要介绍了JLabel、JButton、JPanel、ButtonGroup、JMenu、JMenuItem、JRadioButtonMenuItem、ImageIcon等组件的基本使用,...4.对这个小游戏感兴趣的,功能是如何实现的请看第二篇《Java实现点灯游戏(下篇)》。
本程序使用了窗口交互界面,主要运用了Java swing组件和动作事件监听器,还用到了文件的输入输出流。...FileNameExtensionFilter("文本文件","html","java"); //文件对话框可见的类型 fileDialog.setFileFilter(filter); //设置对话框默认打开或显示的文件类型...=null){//从文件中读取一行文本 area.append(s+"\n");} in.close(); fileReader.close();//关闭输入流 } catch(IOException...=null){ area.append(s+"\n");} in.close(); fileReader.close();//关闭流 } catch(IOException exp){}//捕获文件读写发生的异常...\n"); area.append("谢谢您的使用!")
创建使用扩展的类的监听器对象,然后使用窗口的一个窗口寄存器它addWindowListener方法。...当窗口的状态借助于被打开,关闭,激活或去激活,或图标化取消图标化的变化,在收听对象中的相关方法被调用,并且WindowEvent被传递给它 ?...WindowFocusListener接口 当窗口设置要调用的重点窗口,这意味着该Window或其某个子组件将接收键盘事件 窗体获得焦点时被触发 ?...当Window不再调用聚焦Window意味着键盘事件不再传递到窗口或任何其子组件 窗体失去焦点时被触发 ?...通过捕获窗体获得或失去焦点的事件,可以进行一些相关的操作,例如当窗体重新获得焦点时,令所有组件均恢复为默认设置。 实例 ? 效果 当点击窗体时,控制台输出获得焦点 当点击其他窗体时,控制台输出失去焦点
事件处理 前面介绍了如何放置各种组件,从而得到了丰富多彩的图形界面,但这些界面还不能响应用户的任何操作。比如单击前面所有窗口右上角的“X”按钮,但窗口依然不会关闭。...比如进入、点击、拖放等动作的鼠标事件,再比如得到焦点和失去焦点等焦点事件。...WindowEvent 窗口事件, 当窗 口状态发生改变 ( 如打开、关闭、最大化、最 小化)时触发该事件 。 FocusEvent 焦点事件 , 当组件得到焦点或失去焦点 时触发该事件 。...事件监听器 不同的事件需要使用不同的监听器监听,不同的监听器需要实现不同的监听器接口, 当指定事件发生后 , 事件监听器就会调用所包含的事件处理器(实例方法)来处理事件 。...MouseEvent 鼠标移动 MouseMotionListener MouseEvent 鼠标点击等 MouseListener KeyEvent 键盘输入 KeyListener FocusEvent 组件收到或失去焦点
j1 = new JMenuItem("显示信息"); JMenuItem j2 = new JMenuItem("退出"); JMenuBar JBar = new JMenuBar(); allstudent..., "提示消息", JOptionPane.WARNING_MESSAGE); this.clear(); // 关闭当前界面 dispose(); // 创建一个新界面 Stu_UI ui = new..., "提示消息", JOptionPane.WARNING_MESSAGE); this.clear(); // 关闭当前界面 dispose(); // 创建一个新界面,适用于教师来管理学生 Teacher...else { JOptionPane.showMessageDialog(null,"修改失败");} }catch(SQLException se){ System.out.print("数据连接或修改失败...itemAdd = new JMenuItem("添加学生信息"); JMenuItem itemDel = new JMenuItem("删除学生信息"); JMenuItem itemMod =
用JavaSocket编程开发聊天室 大二下册的JavaWeb课程设计,使用的是eclipse。...DefaultListModel(); private JList userList = new JList(dl);//显示对象列表并且允许用户选择一个或多个项的组件...about = new JMenuItem("关于本软件"); private JMenuItem exit = new JMenuItem("退出"); JPanel north =...//east 好友列表 Dimension dim = new Dimension(100,150); west.setPreferredSize(dim);//在使用了布局管理器后用...handleSS(); } } }); //监听系统关闭事件
1)界面显示,2)通知其他用户关于你登录的信息, 3)把其他在线用户的userName通知当前用户 4)开启一个线程专门为当前线程服务 (2)退出(注销): (3)发送消息 ※※发送通讯内容之后,对方如何知道是干什么...width / 4, height / 4, width / 2, height / 2); this.setDefaultCloseOperation(EXIT_ON_CLOSE);// 关闭按钮器作用...BorderLayout.SOUTH); // ************************************************* // 右上角的X-关闭按钮...menuItemSet = new JMenuItem("设置"); JMenuItem menuItemHelp = new JMenuItem("帮助"); menu.add.../ 连接服务器的动作 if (pw == null) { JOptionPane.showMessageDialog(this, "服务器未开启或网络未连接
Outputs: blur Stream 触发失去焦点事件时发布事件。 change Stream 触发更改事件时发布事件。...(在输入或失去焦点时。) focus Stream 元素聚焦时的事件。...(在输入或失去焦点时。) focus Stream 元素聚焦时的事件。...showClearIcon bool 显示或隐藏尾随关闭图标。单击该图标将清除输入文本并隐藏弹出窗口。...Outputs: blur Stream 当输入增加失去焦点或自动建议项目被选中时触发。 clear Stream 单击关闭图标时触发。
通过向窗体添加控件,并使用事件处理程序来响应用户交互,可以创建功能强大的Windows桌面应用程序。...通过对这些属性的使用,可以创建出各种精美的窗体界面。 2.常用事件 Load事件:当窗体加载完成时触发。在此事件中可以进行窗体的初始化操作。 Click事件:当用户单击窗体时触发。...GotFocus事件:当窗体获得焦点时触发。可以用来实现窗体获得焦点时的操作。 LostFocus事件:当窗体失去焦点时触发。可以用来实现窗体失去焦点时的操作。...Deactivate事件:当窗体失去激活状态时触发。可以用来实现窗体失去激活状态时的操作。 FormBorderStyleChanged事件:当窗体边框样式改变时触发。...WindowState:窗体的初始状态(最大化、最小化或正常)。 ResizeMode:窗体的调整大小模式(默认为CanResize)。
低级别事件指示Component已获得或失去输入焦点。 由组件生成此低级别事件(如一个TextField)。...当组件获得或失去键盘焦点时,可调用侦听器对象中的相关方法,并将 FocusEvent 传递给它。 API focusGained ? focusLost ?...3 如何编写焦点侦听器 每当组件获得或失去键盘焦点时,就会触发焦点事件。无论是通过鼠标,键盘还是以编程方式发生焦点变化,都是如此。...要熟悉基本焦点概念或获取有关焦点的详细信息,请参阅如何使用焦点子系统。 本节说明如何通过在特定组件上注册FocusListener实例来获取焦点事件。...要获取许多组件的焦点状态,请考虑在KeyboardFocusManager类上实现PropertyChangeListener实例,如如何使用焦点子系统中的将焦点更改跟踪到多个组件中所述。
一般情况下,为事件源做监听事件应使用匿名内部类的形式,如上例代码为按钮添加事件时采用匿名内部类的形式 焦点事件监听器 焦点事件(FocusEvent)监听器在实际使用中同动作事件监听器的使用一样广泛...,如使用焦点事件监听器可以用于:当光标离开某一个事件源时触发某个事件的响应,或将焦点返回给该事件源。...()、removeFocusListener() 下面以一个实例来说明该事件监听器的应该,在当第一个文本框失去焦点时,触发事件进行弹窗提示,代码如下: package focusEvent; import...arg0) { } @Override //重写失去焦点的方法 public void focusLost(java.awt.event.FocusEvent arg0)...在使用焦点事件监听器时,需要注意以下几点: 使用该监听器需要实现FocusListener接口 该接口中重写的focusLost()方法是在组件失去焦点时调用的。
2、涉及方法解析 (1)onWindowFocusChanged (boolean hasFocus) 当activity的当前窗口获得或失去焦点时调用,hasFocus == true表示当前窗口获得焦点...,false则表示失去焦点。...,弹框覆盖在原activity的上层,原activity失去焦点 --onWindowFocusChanged:false;(不仅限弹框,还可以是其他获取焦点的页面) 此后点击Home键、再返回app,...原activity仍然是失去焦点的状态(如果没有手动重新获取焦点),当前页面显示黑屏。...但是,一般来说,前台活动具有窗口焦点。除非它显示了其他接受输入焦点的对话框或弹出窗口,在这种情况下,当其他窗口有焦点时,活动本身就没有焦点。
前面的文章介绍了如何放置各种组件,从而得到了丰富多彩的图形界面,但这些界面还不能响应用户的任何操作。比如单击前面所有窗口右上角的“X”按钮,但窗口依然不会关闭。...Swing事件处理机制与AWT的区别 Swing 的事件处理机制与 AWT 保持一致,甚至很多事件的处理仍然使用的是java.awt.event包中的类和接口。...比如进入、点击、拖放等动作的鼠标事件,再比如得到焦点和失去焦点等焦点事件。...WindowEvent 窗口事件, 当窗 口状态发生改变 ( 如打开、关闭、最大化、最 小化)时触发该事件 。 FocusEvent 焦点事件 , 当组件得到焦点或失去焦点 时触发该事件 。...MouseEvent 鼠标移动 MouseMotionListener MouseEvent 鼠标点击等 MouseListener KeyEvent 键盘输入 KeyListener FocusEvent 组件收到或失去焦点
领取专属 10元无门槛券
手把手带您无忧上云