当暂时丢失焦点的组件的另一个操作,比如释放Window或拖动滚动条的间接结果一时焦点变化的事件发生。 例如,当窗口失去焦点时,会发生一个临时的焦点丢失事件。临时获得焦点的事件发生在弹出菜单上。 ? 请注意,当焦点从一个组件更改为另一个组件时,第一个组件将触发焦点丢失事件,第二个组件将触发焦点获得事件。 从组合框的菜单中选择一个选项。再次单击组合框。请注意,没有报告焦点事件。 只要用户操作相同的组件,焦点就会停留在该组件上。 单击打印焦点事件的文本区域。什么也没有发生,因为使用setRequestFocusEnabled(false)使文本区域不可点击。 该演示通过在文本区域上调用setRequestFocusEnabled(false)来禁用文本区域的单击焦点,同时保留其选项卡焦点功能。
,而是为其他边框设置标题,创建该类的对象时,需要传入一个其他的Border对象; ComoundBorder:用来组合其他两个边框,创建该类的对象时,需要传入其他两个Border对象,一个作为内边框,一个座位外边框 与 FileDialog 不同的是 , JFileChooser 无须依赖于本地平台的 GUI , 它由 100%纯 Java 实现 , 在所有平台 上具有完全相同的行为,并可以在所有平台上具有相同的外观风格 对 showConfirmDialog 所产生的对话框,有如下几个返回值: YES OPTION: 用户 单击了 "是"按钮后返回 。 NO OPTION: 用 户单击了"否"按钮后返回 。 CANCEL OPTION: 用户单击了"取消"按钮后返回 。 OK OPTION : 用户单击了"确定"按钮后返回 。 CLOSED OPTION: 用户 单击了对话框右上角的 " x" 按钮后返回。
热卖云产品新年特惠,2核2G轻量应用服务器9元/月起,更多上云必备产品助力您轻松上云
在本文中,将展示一种方法,该方法允许使用JxBrowser的功能在不同 PC 上运行的两个 Java 应用程序之间实现屏幕共享。 第一个是带有按钮的窗口。单击该按钮开始共享会话。第二个应用程序自动接收视频流并显示它。还有一个停止屏幕共享的按钮。 当流媒体开始捕获时,我们将其屏幕视图作为视频流接收。为了显示它,我们在接收器端使用内置的 HTML5 视频播放器。打开两个浏览器窗口查看是否正常。该项目的源代码可在GitHub 上获得。 streamer.html,可以在单击按钮时直接从 Java 开始屏幕共享:JButton startSharingButton = new JButton("Share your screen");startSharingButton.addActionListener 结论在本文中,展示了如何在一个 Java 应用程序中共享屏幕并使用 JxBrowser 在另一个应用程序中显示它。 我创建了一个可以共享屏幕的简单 JavaScript 应用程序。
方法名称 概述 getContentPane() 返回此窗体的 contentPane 对象 getDefaultCloseOperation() 返回用户在此窗体上单击“关闭”按钮时执行的操作 setContentPane (Container contentPane) 设置 contentPane 属性 setDefaultCloseOperation(int operation) 设置用户在此窗体上单击“关闭”按钮时默认执行的操作 ) 设置按钮的键盘快捷键,所设置的快捷键在实际操作时需要结合 Alt 键进行实现 void setPressedIcon(Icon icon) 设置按下按钮时的图标 void setSelectedIcon (Icon icon) 设置选择按鈕时的图标 void setRolloveiicon(Icon icon) 设置鼠标移动到按扭区域时的图标 void setDisabledIcon(Icon icon ) 设置图标和文本的水平对齐方式 void setEnable(boolean flag) 启用或禁用按扭 void setVerticalTextPosition(int textPosition)
83、虽然Java 在程序结束时自动关闭所有打开的流,但是当我们使用完流后,显式地关闭 任何打开的流仍是一个良好的习惯。 97、Java中JFrame类的 setTitle 方法是用来设置窗口的名字。 98、JFrame类创建的对象是一个窗口容器,它默认布局是 BorderLayout 布局。 107、使用 CardLayout 布局的容器可以容纳多个组件,但实际上同一时刻容器只能从这些组件中选出一个来显示。 110、当用户与GUI 交互,比如移动鼠标、按下鼠标键、单击Button 按钮、在文本框内输入文本、选择菜单项或者关闭窗口时,GUI 会接受到相应的事件 。 113、只要用户单击JButton,就会触发一个ActionEvent 事件,该事件被监听器接收,它的方法 actionPerformed() 被执行。
JDialog窗体的功能是从一个窗体中弹出另一个窗体,就像是在使用IE浏览器时弹出的确定对话框一样。 标签由JLabel类定义,它的父类为JComponent类。 12.3.2 图标的使用 Swing中的图标可以放置在按钮、标签等组件上,用于描述组件的用途。 ipadx修改组件的宽度,ipady用来修改组件的高度。如果为正数,则在首选大小的基础上增加指定的宽度和高度;如果为负数,则在首选大小的基础上减小指定的宽度和高度。 ActionListener() { @Override public void actionPerformed(ActionEvent e) { jb.setText("我被单击了
二、基本要求 实现一个功能简单的学生信息管理系统,该系统具有按照账户名密码登录功能,登录后,可以添加,删除,修改、查询(显示学生相片)学生信息,添加学生信息时,要求能添加学生的相片信息(实现相片文件的上传和下载功能 X时结束程序 jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置JFrame可见 jf.setVisible(true); } public “查询”按钮进行刷新,显示出修改后的信息,如下图所示: 5、删除 (1)在学生信息管理系统界面选中某一学生记录,单击“删除”按钮,弹出删除确认界面。 虽然这是一个小项目,但是能把它做好也是有很大的满足感。虽然一开始遇到很多问题,但自己都咬牙克服、迎难而上,每天都在钻研程序,然后将自己的思想与同学们交流。 ,这篇博客就是该课设设计的报告,需要源码的同学可以关注博主的公众号《萌新加油站》,回复:java学生系统,即可获得源码学习。
大家好,又见面了,我是你们的朋友全栈君。 引言: 俄罗斯方块,相信很多80、90后的小伙伴都玩过,也是当年非常火的游戏,当年读中学的时候,有一个同学有这个游戏机,大家都很喜欢玩,这个游戏给当时的我们带来了很多欢乐,时光飞逝,感慨颇多! 人终归是要长大的,回忆再美好,日子也一去不复返了,以前我们只会玩游戏,心里想自己能做一个出来多牛逼啊,长大后,成为程序员的我们有能力自己写游戏玩,我想这就是成长吧! 代码实现 创建窗口 首先创建一个游戏窗体类GameFrame,继承至JFrame,用来显示在屏幕上(window的对象),每个游戏都有一个窗口,设置好窗口标题、尺寸、布局等就可以。 此图形呢,标红的为(0,0),它正下方的那个应该是(0,1),它右边那个是(1,0),它右下角的那个应该是(1,1) 于是我们可以设计一个Data类,专门存储7种图形的位置信息,分别对应前面图的7种模型
大家好,又见面了,我是你们的朋友全栈君。 五子棋基本思路 第一步:要分俩个类,一个是五子棋本身主类(包括黑白棋下棋方式),一个是棋子类(包括构建画布进行棋盘的设计,使其构成等距离的格子,正方形棋盘15*15格式)。 6.与画布棋盘时相似,使用paintComponent()函数进行棋子落子的判定,鼠标点在格子十字交叉点的周围进行分析 在MouseEvent(鼠标监听事件类)里面包含鼠标被点击等事件的处理方法。 当界面被点击时就放下一个棋子。点击会落下棋子,“黑方下棋”与“白方下棋”交替出现。 以下利用距离格子十字交叉点30%以内判定棋子落在哪里的位置,在点击的位置上已经有棋子不可再放置。 7.实现接口ActionListener (状态监听处理类) 当点击重新开始会清除棋盘上所有的棋子,否则将无法去下下一步棋,保持棋盘在结束时的整体,包括画布的棋盘组件都不会动。
(我根本就找不到) JApplet的内容窗格用BorderLayout的一个实例来布局组件。 并把它的可见性设置为true。 从本质上讲,这种技术会产生共享一个内容窗格的应用程序和小应用程序。当例2-3中的代码被编译后,它可以既作为小应用程序运行又可以作为应用程序运行。 然后遭到把该面板添加到内容窗格中,使这个重量面板在第二个重量按钮之后 ,在第三个重量按钮之前。结果,轻量按钮具有与它们所在的面板相同的层序,它们在第二个重量按钮之下,第三个重量按钮之上显示。 图2-9中上图显示了这个小应用程序刚启动时的样子,图2-9中下图显示了滚动窗格滚动后,这个小应用程序的样子。注意,在这两种情况下,AWT按钮都没有能够正确地显示。 总之,禁止从事件派发线程外的其他线程访问Swing组件的决定是正确的,它产生了一个较容易扩展的、较简单的工具包。另外,除事件派发线程外的其他线程可以调度在事件派发线程上实现的可运行对象。
大家好,又见面了,我是你们的朋友全栈君。 ** java课程设计《简易记事本》 ** 第一次在博客上发布文章。这是我在大二上学期的java课程设计,我的课程设计是做一个简易记事本。 (3)在实现新建、保存和打开的功能的方法时,原打算和实现复制剪切粘贴功能一样新建一个java文件来实现这些功能的;运行后发现不可行,getActionCommand()对于文本框,当发生ActionEvent 事件时,默认的字符串是文本框中的文本,并不是事件源对象的引用;因此就用关键字this作为新建、保存和打开的监视器,this指的是当前对象,可以调用getSource()方法可以获取发生ActionListener 也基本上实现了老师需求分析时所预期的功能。在这次课程设计中,我遇到了很多问题,也学会了解决这些问题的方法。 通过这次的课程设计,使将我从技本上学习到的理论知识用到了实践上.从而进一步巩固和丰富了我所学过的知识,让我更深层次地认识到Java及其强大的功能。
一.前言 刚学习java,上一次写了一个姓名随机抽取器,点击查看,参加了原力计划,被小编推荐到了首页,也是第一次在首页看到自己写的东西,当时看到的那一刻实实在在很开心,其实我们好多人学习东西,恰恰就需要那么一点点的鼓励和被重视 在上次写完随机抽取器,有人给我留言,说如果添加了抽取过程中可以显示动态名字就更好,后来我也认真想了想,俗话说,始于颜值,,,颜值即正义,于是在下手码代码前,我有了经验,我用PS认认真真的把我需要的资源都做好了 我也找到了游戏的背景,棋子落下时也会有音乐,由于录制的是动态图,所以没办法在这里给各位呈现音乐效果,下面有游戏效果和流程图,由于代码可能比较繁琐,我特意准备了流程图帮助各位理解,至于代码,我会尽可能注释清楚 ,至于所有需要用到的资源,我都会打包上传,如有需要的,可自行下载,当然如果你没有积分,我也能够体谅你,你可以加我QQ,我免费发给你,但是禁止白嫖,原创不易,记得关注我,你们的关注才是我创造的动力! 每文一句:目标的坚定是性格中最必要的力量源泉之一,也是成功的利器之一。没有它,天才也会在矛盾无定的迷径中徒劳无功。
总体上而言,Java Swing编程有两大特点:麻烦、效果差。 效果差是指运行时的界面。具体的您可以自己尝试发现。 通过一段代码来创建属于我们的窗体: 1 import javax.swing.JFrame; 2 2 3 3 /** 4 4 * 我的第一个Java窗体 5 5 * 6 运行后,窗体在屏幕左上角显现并且是最小化的形式。那么关于设置窗体的显示就不再赘述了,值得注意的是窗体的布局必须设置。 75 75 JCheckBox ck = new JCheckBox(); 76 76 // 使具有焦点的行对应的复选框选中
假如我们有两个程序员,一个程序员在写程序的时候,需要使用第二个程序员所写的类,但第二个程序员并没完成他所写的类。那么第一个程序员的代码能否通过编译呢?这是不能通过编译的。 利用Java反射的机制,就可以让第一个程序员在没有得到第二个程序员所写的类的时候,来完成自身代码的编译。 所有对象(包括数组)都实现这个类的方法。 四、Java的反射类能做什么: 看完上面的这么多我想你已经不耐烦了,你以为我在浪费你的时间,那么好吧!下面我们就用一些简单的小例子来说明它。 而加载的顺序是自顶向下,也就是由上层来逐层尝试加载此类。类加载器的详细介绍会在接下来的博文中较深入的分析,欢迎期待。 也就是说,当我们编写一个类(.java文件),编译完成后,在生成的.class文件中,就会产生一个Class对象,用于表示这个类的类型信息。
image.png 我尝试创建一个新帐户,用它登录但失败了,因为该帐户不属于我们尝试重置其密码的帐户。 我启用了旁白并得到了一些非常有趣的结果。 image.png 启用并单击按钮后,您可以听到讲述人说“您想如何打开它”,并且讲述人的注意力集中在 Microsoft 帐户窗口中没有的其他内容上。 我们生成了一个“打开方式”窗口,背景中叙述者的注意力集中在它上面;通常,“打开方式”窗口如下所示 image.png 但只有两个选项,第一个是 MS Edge,第二个是 Internet Explorer 测试后,只要我们选择确定,我们就会失去叙述者的焦点,我们不再能够控制背景窗口。 只要我们重复上述步骤,我们就可以再次拥有叙述者的焦点,我们将再次拥有叙述者的焦点。 但是这次我们将在MS Edge浏览器上拥有它,此时我们需要提升我们的权限,我能想到的执行任意命令的唯一方法是生成一个设置实例。
它只能通过网络连接一个服务器(我在“Java多线程第2版不完全详解”一文中提到的国内最早的MMORPG的页游《倾城》的客户端就是使用applet写的) 窗体游戏—该类型的游戏没有applet流程的安全限制 但是它不吸收用户,特别是当我们沉浸在游戏中时。 全屏幕游戏—没有桌面元素,比如标题栏、任务栏和菜单栏,这样玩家可完全沉浸在游戏情节当中。 全屏幕绘图 在计算机中有两部分显示硬件:显卡和显示器。 )不能修改调色板(我没有试过更高版本的,因为我开游戏客户端是使用C++来实现的,因为实际开发中不用的话,我就不研究 ),也不能描述这些是什么。 当JFrame被显示时,Java的Abstratct Window Toolkit会呼叫组件的paint方法。 所谓buffer就是一个在内存中绘制图片,也就是当我们使用双缓存技术时,需要我们不能直接把图形画到屏幕中去,需要我们先画到buffer中,然后把整个画面拷贝到屏幕中去。这样整个屏幕只刷新一次。
大家好,又见面了,我是你们的朋友全栈君。 Win10系统中新的默认浏览器Edge已经足够快了,如果想让它更快,可以禁用浏览器里面的 Flash 动画播放功能来帮助达到更快的上网体验,今天小编就向大家介绍一下Edge 浏览器中 Flash启用与禁用简单步骤 我们点击 Edge 浏览器右上角的“三个点”的按钮,在弹出的菜单里单击“设置”。 在弹出的“设置”菜单里,并没有关掉 Flash 动画的开关。 我们向下滚动菜单到它的底部,点击“查看高级设置”。 刷新刚开始打开的网页,网页上的音频、视频内容消失,但是网站也没让那个位置闲着,重新显示了一个静态的图片。再看浏览器标签页上标识多媒体内容的“小喇叭”标志,也没有了。 当我们需要网页使用 flash 播放音频、视频时,再次到第 5 步骤提到的菜单位置中,打开 flash 播放器功能就是了。
当从王者荣耀的主界面点击万象天工进入各类模式的界面时,由于网络原因,会存在一定程度的延时(即会有一个圈圈在主界面一直转啊转啊转),直到加载完才会跳转到各模式界面。 在本实例中,当图片还没有从加载完成时,使用虚拟代理进行代替,具体表示为:在图片没有下载到本地显示出来时,在GUI上显示一直转转转的圆圈,意味着"正在加载中……请稍后"。 虚拟代理是作为创建开销大的对象的代表。虚拟代理经常直到我们真正需要一个对象的时候才创建它。当对象在创建前和创建中时,由虚拟代理来扮演对象的替身。对象创建后,代理就会将请求直接委托给对象。 当我处于在线状态时,使用代理让同一账号的使用者下线。 远程代理可以作为另一个JVM上对象的本地代表。 更多设计模式在王者荣耀中的应用请点击我的→设计模式在王者荣耀中的应用专栏。 欢迎留言,一起学习交流~ 感谢阅读 END
当从王者荣耀的主界面点击万象天工进入各类模式的界面时,由于网络原因,会存在一定程度的延时(即会有一个圈圈在主界面一直转啊转啊转),直到加载完才会跳转到各模式界面。 在本实例中,当图片还没有从加载完成时,使用虚拟代理进行代替,具体表示为:在图片没有下载到本地显示出来时,在GUI上显示一直转转转的圆圈,意味着"正在加载中……请稍后"。 虚拟代理是作为创建开销大的对象的代表。虚拟代理经常直到我们真正需要一个对象的时候才创建它。当对象在创建前和创建中时,由虚拟代理来扮演对象的替身。对象创建后,代理就会将请求直接委托给对象。 当我处于在线状态时,使用代理让同一账号的使用者下线。 远程代理可以作为另一个JVM上对象的本地代表。 请重试……");} } } 123456789101112131415161718192021 运行结果截图 更多设计模式在王者荣耀中的应用请点击我的→设计模式在王者荣耀中的应用专栏
以读取本地文件的方式为imge属性赋值; 以上三种方式中,导入资源文件时,当我们打开资源文件时,程序不会报错,但打开本地用代码读取的文件时会报文件被占用的错误,而导入本地资源时,只能用于指定的控件,如果想要给其他控件使用还需要导入一次 ,当我们不想使用鼠标控制焦点在哪个控件上时,我们可以通过设置控件的Tabindex值,然后运行程序后,通过Tab键来控制焦点的位置,并且焦点是从0、1、2、这种递增的顺序移动的,并且Label虽然可以设置 TabIndex属性,但是当我们使用Tab键时,焦点并不能移动到Label上,这说明不是所有的控件都能响应Tab键。 总结起来就是,想显示&,则该属性设置为false,不想显示则设置为true,并且&后面的字符就是触发该控件单击事件的快捷键,因为label的单击事件用的比较少,所以详细用法我在button的用法这篇文章做了详细介绍 鼠标双击触发,包含左键、中键、右键,不能区分出是鼠标的左键、中键、右键触发,这里要注意的是,双击鼠标时,单击事件也会被触发,如果想实现双击时不触发单击事件,则可以在接收到单击事件时,往后计算一个时间段
扫码关注腾讯云开发者
领取腾讯云代金券