; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; import java.awt.event.WindowAdapter...buttonCursor = null; // 画笔样式的监听事件 private ButtonStrokeAction buttonStrokeAction = null; /** * 构造方法...* */ public UI() { // 设置标题栏文字 super("绘图板"); // 构造一个绘图板 palette = new Palette(); Panel...} } } } } /** * 画板类 * * @author 何青松 * */ class Palette extends Panel implements MouseListener...画笔样式 private BasicStroke stroke = null; // 缓存图形 private BufferedImage image = null; /** * 构造一个画板类
展开全部 简单的五子棋程序 新建一个chess类,其中代码如下 package work; import java.awt.Color; public class Chess { public static...public Chess(int x, int y, Color color) { super(); this.x = x; this.y = y; this.color = color; } } 然后在同一个包中新建...DrawPanel类代码如下 package work; import java.awt.Color; import java.awt.Cursor; import java.awt.Graphics;...; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; import javax.swing.JFrame...isBlack; repaint(); } @Override protected void paintComponent(Graphics g) { //方法重写 // TODO Auto-generated
; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image...import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener...不能下 if(x1ROWS||y1COLS||gameOver||findChess(x1,y1)) setCursor...(new Cursor(Cursor.DEFAULT_CURSOR)); //设置成默认状态 else setCursor(new Cursor...isBlack; } //覆盖mouseListener的方法 public void mouseClicked(MouseEvent e){ //
参考链接: Java BufferedReader类 1、java.io.BufferedReader和java.io.BufferedWriter类各拥有8192字符的缓冲区。...当BufferedReader在读取文本文件时,会先尽量从文件中读入字符数据并置入缓冲区,而之后若使用read()方法,会先从缓冲区中进行读取。...2、从标准输入流System.in中直接读取使用者输入时,使用者每输入一个字符,System.in就读取一个字符。...readLine()方法会在读取到使用者的换行字符时,再一次将整行字符串传入。 ...可以在文字模式下输入字符,程序会将输入的文字存储至指定的文件中,如果要结束程序,输入quit字符串即可。
一.前言 刚学习java,上一次写了一个姓名随机抽取器,点击查看,参加了原力计划,被小编推荐到了首页,也是第一次在首页看到自己写的东西,当时看到的那一刻实实在在很开心,其实我们好多人学习东西,恰恰就需要那么一点点的鼓励和被重视...,我已经打包了 import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.net.URL; import...java.net.URI; import java.lang.*; import java.applet.*; import java.io.*; import javazoom.jl.player....ImageIcon("E:\\dianmingqi\\call\\lib\\shouzhi.png").getImage(),new Point(0,0), "stick"); jf.setCursor...; } } } //悔棋 public void getBackLabel() { //悔棋方法 if(sum!
在Java中GUI提供了对象在 java.awt 和 javax.swing 两个包中 在早年中, Java.awt为抽象窗口工具包, 英文为 Abstract Window ToolKit, 需要调用本地的系统方法来实现功能需求...组件里面还能放入组件,在Java中我们叫容器....窗口适配器 MouseListener ?...mouseListener public interface MouseListener extends EventListener 用于在组件上接收“有趣”鼠标事件(按,释放,单击,输入和退出)的侦听器界面...方法 方法的详细信息: mouseClicked void mouseClicked(MouseEvent e) 在组件上单击鼠标按钮时调用 mousePressed void mousePressed
在Java中GUI提供了对象在 java.awt 和 javax.swing 两个包中 在早年中, Java.awt为抽象窗口工具包, 英文为 Abstract Window ToolKit, 需要调用本地的系统方法来实现功能需求..., MenuContainer, Serializable component 是一个具有图形表示能力的对象....Button but = new Button("my button"); //加入一个文本框组件。 ...窗口适配器 MouseListener mouseListener public interface MouseListener extends EventListener 用于在组件上接收“有趣”...方法 方法的详细信息: mouseClicked void mouseClicked(MouseEvent e) 在组件上单击鼠标按钮时调用 mousePressed void mousePressed
67、异常处理 方法是一种非常有用的辅助性程序设计方法。采用这种方法可以使得在程序设计时将程序的正常流程与错误处理分开,有利于代码的编写和维护。...83、虽然Java 在程序结束时自动关闭所有打开的流,但是当我们使用完流后,显式地关闭 任何打开的流仍是一个良好的习惯。...94、Java程序中可以向容器添加组件,一个容器可以使用 add() 方法将组件添加到该容器中。...95、在组件类的一些常用方法中 setBackground 方法是设置组件的背景颜色。 96、在组件类的一些常用方法中 setForeground 方法是设置组件的前景颜色。...114、在监听类的事件处理方法中通过事件类的 getSource() 方法来获得事件源。
版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons) 首先我们查看println的方法定义,有:...= String.valueOf(x); synchronized (this) { print(s); newLine(); } } 此处主要利用了Java...中所有对象都继承了Object类,而Object类内有toString()方法。...都到这你肯定有疑问,即使你说的完全正确,但是也没见得调用了对象的toString();此疑问的解答,在于String中静态方法valueOf()方法利用到了对象的toString()方法。
事件模型如何理解呢,举个例子,你老婆出门了,让你在家看孩子,难道你每过一分钟就去看一次孩子吗,对于计算机来说,我做一个按钮,难道就一直监听这个按钮使用没有吗,这样的话对于资源消耗太大了,所以最好的办法就是在孩子手上系个铃铛...MouseEvent java中事件监听的接口名称都非常有规律,监听动作的叫ActionListener,监听鼠标的叫MouseListener,监听键盘的叫KeyListener MouseLinsenter...但是如果我们写自己的鼠标监听器类,继承这个接口需要实现四个方法,非常麻烦,所以一般我们都直接继承MouseAdapter类,这个类已经实现了MouseListener的所有方法,我们只要重写其方法即可...,鼠标在Frame上点击一下就会在当前位置点出一个点,需要注意的是,repaint方法的执行过程可以理解为:update()->paint(),首先更新,然后画点,所以repaint方法在画图的时候必须加上...这个程序实现了关闭窗口的效果 KeyEvent 下图是KeyListener接口的方法,同样的,也有一个类实现了这个接口,叫KeyAdapter,接下来我们直接做一个摁键盘上下左右,然后打印对应的字符串
watched == widget) { if (event->type() == QEvent::Resize) { //重新计算八个描点的区域,描点区域的作用还有就是计算鼠标坐标是否在某一个区域内...; } else if (event->type() == QEvent::HoverMove) { //设置对应鼠标形状,这个必须放在这里而不是下面,因为可以在鼠标没有按下的时候识别...SizeHorCursor); } else if (rectRight.contains(point)) { widget->setCursor...::SizeHorCursor); } else if (rectTop.contains(point)) { widget->setCursor...(Qt::SizeFDiagCursor); } else { widget->setCursor(Qt::ArrowCursor
一、前言 在之前的一篇文章中写过一个通用的移动控件,作用就是用来传入任意的widget控件,可以在父类容器中自由移动。...在我们平时做的项目中,为了U界面的美观,很多会采用自定义无边框窗体来处理,自己美化标题栏等,都会面临一个相同的问题,就是设置好自定义无边框窗体以后,要自己处理窗体的移动和拉伸,如果有多个无边框窗体,很多人会想到每个地方都写重复的代码来实现移动或者拉伸...在QDialog窗体中可以通过设置一个属性sizeGripEnabled来实现右下角的拉伸,这个还不足以满足所有的需求,很多时候我们还需要在四个角和上下左右都能拉伸大小,这个就需要重写了,安装事件过滤器...watched == widget) { if (event->type() == QEvent::Resize) { //重新计算八个描点的区域,描点区域的作用还有就是计算鼠标坐标是否在某一个区域内...每个类都可以独立成一个单独的控件,零耦合,每个控件一个头文件和一个实现文件,不依赖其他文件,方便单个控件以源码形式集成到项目中,较少代码量。
鼠标点击由mouseClick过程报告,它是MouseListener接口的一部分。...MouseHandler类扩展于MouseAdapter类,这是因为它只定义了5个MouseListener方法中的两个方法。...setCursor(Cursor cursor) 1.1 用光标图像设置给定光标。...在任何时刻,只有一个窗口可以是活动的。 现在假设活动窗口在一个Java程序控制之下。当Java窗口接收到敲击键盘的操作,并定位于某个特定的组件时,这个组件就具有了焦点(focus)。...为了能够让程序员开发与平台无关的代码,JDK 1.4在Component类中增加了一个方法requestFocusInWindow。这个方法只有在组件包含在焦点窗口内时才会成功。
如果可能,修改getIndex()方法,使其返回枚举而不是整数.如果无法做到这一点,则需要将索引映射到枚举元素: 鉴于以下枚举: public enum Index { ONE, TWO, THREE...} 您可以使用将索引映射到枚举元素 Index.values()[index] 给定你的方法Integer getIndex(),你可以做类似的事情 switch(Index.values()[getIndex...return REG; } if (index >= values().length) { return INVALID; } return values()[index]; } } 这仅是一个示例...– 在任何情况下,它通常取决于您从getIndex()方法获得的值的范围,以及您希望如何将它们映射到枚举元素....service.getIndex())) { case ZERO : … break; … case REG : … break; … } 有关其他信息,请参阅Cast Int to enum in Java
简介 羊了个羊游戏爆火,就是太难玩了,我玩了几十次,玩不过去,很纠结,作为技术人员的我,忍不了,就抽了5个小时用Java实现了一个桌面版本,效果如下: 测试现场 羊了个羊开发现场 实现思路+代码实现...第一步:画界面——界面分区 把界面分成叠卡区、翻牌区、验卡区三个部分,然后一个区域的话。...defaultHeight/2:0); // 设置卡片显示在背景面板中位置 fruits.setBounds(pointX,pointY,defaultWidht,defaultHeight...this.leftFold = true; }else{ this.rightFold= true; } // 设置卡片显示在背景面板中位置...=null){ for (MouseListener mouseListener : mouseListeners) { object.getFruits
一、前言 插件控件加载了,拖曳控件也实现了,接下来就是一个最难点了,跟QtDesigner或者其他开发环境一样,能够任意自由的拉伸控件大小,移动位置,为了这个功能,还特别编写了一个控件来实现这个功能,名字叫...所有控件的属性自动提取并显示在右侧属性栏,包括枚举值下拉框等。 支持手动选择插件文件,外部导入插件文件。 可以将当前画布的所有控件配置信息导出到xml文件。...eventFilter(watched, event); } void SelectWidget::resizeEvent(QResizeEvent *) { //重新计算八个描点的区域,描点区域的作用还有就是计算鼠标坐标是否在某一个区域内...->setCursor(Qt::SizeVerCursor); } else if (rectLeftTop.contains(p)) { this->setCursor(Qt:...每个类都可以独立成一个单独的控件,零耦合,每个控件一个头文件和一个实现文件,不依赖其他文件,方便单个控件以源码形式集成到项目中,较少代码量。
又到了全新的一个学期,又迎来了全新的学习。三篇教程似乎在全新的单元上不起作用。基于他们的要求,我又去重新寻找新的方法。...在经过了近20分钟的寻找,我最终找到了一个全新的方法完美解决了问题,请看以下视频。 高清视频地址 : https://v.qq.com/iframe/player.html?...本来空着的右侧这时候便会多出一串文件,我们只需点击“initPage.php”这个文件就好了; 在出现的一串代码中,我们可以看到key这一行,旁边的就是答案; 当做完这一题之后,点击next进入下一个界面是
javafx类库JDK11+JAVAFX(eclipse)方式一方式二直接引入避免另一种编写方式小知识点setHgrow或setVgrow、需要精确布局时,应重写layoutChildren()值摆放每一个子节点...start创建main方法 调用launch需要stage调用show方法stage.setOpacity(0.9);//设置透明度 0-1//X,Y监听事件 stage.xProperty().addListener...(Cursor.CLOSED_HAND);JAVAFX项目Main.java主项目Application.css样式Build.fxbuild用于程序的打包发布Icons图标、Pane窗格、Platform...每个区域只能有一个节点。BorderPane的顶部和底部区域允许可调整大小的节点占用所有可用宽度。左边界区域和右边界区域占据顶部和底部边界之间的可用垂直空间。...放置在顶部,底部,左侧,右侧和中心区域中的节点的默认对齐方式如下:● 顶部: Pos.TOP_LEFT● 底部: Pos.BOTTOM_LEFT● 左侧: Pos.TOP_LEFT● 右侧: Pos.TOP_RIGHT
那么为什么怎么说呢我们之前都是把 Delay 以及 Nixie 函数都是放在 main.c 里面,如果我们再想去写一个其它的程序就需要打开这个 main.c 的文件在复制过来。...所以,我们就可以在创建一个.c 文件来去定义函数,在加个.h 文件去声明这个函数,然后直接去进行在 main.c 主函数当中去进行头文件的一个声明,这样我们就只需要复制那段函数的功能.c 文件就可以了!...本视频提供的LCD1602代码属于模块化的代码,使用者只需要知道所提供函数的作用和使用方法就可以很容易的使用LCD1602。...函数 作用 LCD_Init(); 初始化 LCD_ShowChar(1,1,'A'); 显示一个字符 LCD_ShowNum(1,9,123,3); 显示十进制数字 LCD_ShowSignedNum...替换为3.14 #define ABC 定义ABC #ifndef __XX_H__ 如果没有定义__XX_H__ #endif 与#ifndef,#if匹配,组成“括号” C语言的预编译以#开头,作用是在真正的编译开始之前
一:匿名内部类写法 在一个组件下加入以下语句 text.addMouseListener(new MouseAdapter(){ public void mouseDoubleClich...//定义MyMouseDoubleClick.java private static final class MyMouseDoubleClick extends MouseAdapter{...,只是有内部类变为单个外部类 四:实现监听器接口的写法: 将类实现相应的接口,这样类本身就成了一个监听器,使得加入监听器的代码可以更简洁,这种方法适合加入监听器的组件较多,且要求监听器的事件处理代码可以被组件共用...如果继承了了相应的事件适配器,则可根据需要写相应的方法,另外需要注意,只有接口才有多继承的特性,所以如果类本身已经是一个子类,则只有通过实现接口的方式来实现而不能继承接口的适配器。...public class Helloworld extends MouseAdapter implements MouseListener{ public static void main(String
领取专属 10元无门槛券
手把手带您无忧上云