java代码实现鼠标双击出现画图-----------paint()方法由系统自动调用,且一定是小写的字母p
总结:在运行过程中,自己不是很认真,没有检查自己写的代码,结果是无论你怎么运行,双击
frame都没用,因为系统根本就没有调用paint()方法绘图。所以很重要的是实现这个方法
package com.a.b; import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Paint;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.Random;
///练习监听的
import javax.swing.*;//
//实现鼠标双击时画圆,运用画图
class Shape extends JFrame { //设置图形的坐标
int x,y;
public Shape(){
JLabel jl=new JLabel("你是我的信仰");
jl.setForeground(Color.yellow);
JLabel jl2=new JLabel("你是冬天里的太阳");
jl2.setForeground(Color.red);
JPanel jp=new JPanel();
//看到冒这些字体什么都没显示在fraem
jp.add(jl2);
jp.add(jl);
jp.setBackground(Color.green);//设置frame的背景色 this.add(jp);
this.setBounds(100, 200, 500, 500);
this.setDefaultCloseOperation(3);
ini();
this.setVisible(true); }
Random r=new Random(); public void paint(Graphics g) {//////////我终于明白了,这个画图的方法不是普通的方法,是自带的,小写的才可以被自动调用
g.setColor(new Color(r.nextInt(255),r.nextInt(255),r.nextInt(255)));//否则是根本画不出来图形
//画圆。长方形,椭圆。直线。实心圆
g.fillOval(x, y, 44, 44);//实心圆
g.drawOval(x, y-32, 32, 32);//空心圆
//g.drawRect( x, y-22, 55,55);
g.drawLine(x, y, 44, 44);//这是一条直线
g.drawString("hello world!!!", 300, 300);
} public void ini(){
this.setBackground(Color.yellow);//
this.addMouseListener(new MouseListener (){
//这里使用匿名的内部类来实现对frame的监听动作 @Override
public void mouseClicked(MouseEvent e) {
if(e.getClickCount()>=2){
x=e.getX();
y=e.getY();
repaint();
} } @Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub } @Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub } @Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub } @Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub }}); }
//开始画圈 } public class Tuxing {
public static void main(String[] args) {
new Shape().ini();
}
}
java代码实现鼠标双击出现画图-----------paint()方法由系统自动调用,且一定是小写的字母p的更多相关文章
- java列表组件鼠标双击事件的实现
Swing中提供两种列表组件,分别是列表框(JList)和组合框(JComboBox). 一.JList组件 构造方法: public JList():构造一个空的.具有只读模型的JList.publ ...
- java的Swing编程====实现鼠标双击一下==画图===getMouseClicked的方法
总结: 使用匿名类,但是用实现接口的方式呢??? package com.aa; import java.awt.Color; import java.awt.Graphics; import jav ...
- [改善Java代码]避免带有变长参数的方法重载
建议4: 避免带有变长参数的方法重载 在项目和系统的开发中,为了提高方法的灵活度和可复用性,我们经常要传递不确定数量的参数到方法中,在Java 5之前常用的设计技巧就是把形参定义成Collection ...
- [UE4]工程设置:自动捕获鼠标、通过代码设置鼠标显示隐藏、输入模式、编译时自动保存
一.在4.20版本中运行游戏,在没有进行任何设置的情况下,游戏不会自动捕获鼠标,游戏不会接受输入,需要手动点一下游戏界面才行.如果要跟老版本一样运行游戏自动捕获鼠标,需要进行设置 二.也可以通过代码的 ...
- 百度语音识别REST API用法(含JAVA代码)——不须要集成SDK的方法
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/zpf8861/article/details/32329457 上一篇文章http://blog.c ...
- java代码-----运用endWith()和start()方法
总结: package com.a.b; //startWith().和endWith()是检查一个字符串是否以一个特定的字符序列开始或结束 public class Sdfs { public st ...
- Java代码使用正则验证和常用工具方法
1.正则验证邮箱 public static boolean checkEmail(String email){ boolean flag = false; try{ String check = & ...
- WPF DataGrid 鼠标双击选中的DataGridRow及Row数据
设置DataGrid的MouseDoubleClick事件 代码 //DataGrid鼠标双击事件 Private void dataGrid_MouseDoubleClick(object send ...
- 使用非java代码编程
使用非JAVA代码 JAVA语言及其标准API(应用程序编程接口)应付应用程序的编写已绰绰有余.但在某些情况下,还是必须使用非JAVA编码.例如,我们有时要访问操作系统的专用特性,与特殊的硬件 ...
随机推荐
- cmake手册
cmake手册 部分转载自:http://www.cnblogs.com/coderfenghc/tag/cmake/ CMake2.8.3 主索引 命令名称 用法 描述 命令选项 生成器 命令 属性 ...
- Reflection01_获取Class对象
1.java 代码: package reflectionZ; public class TreflectionZ { public static void main(String[] args) t ...
- codeforces 831B. Keyboard Layouts 解题报告
题目链接:http://codeforces.com/contest/831/problem/B 题目意思:给出两个长度为26,由小写字母组成的字符串s1和s2,对于给出的第三个字符串s3,写出对应s ...
- struts2提交文件时,出现页面重置又无法返回input现象,我没有解决这个问题
查看资料得知,是因为我使用的tomcat是8的原因,调整到6就可以了.但我没有改变Tomcat的版本,不知道该怎么解决这个问题.
- 资源(GitHub)
angular 文档 https://angular.cn/docs/ts/latest/quickstart.html http://sc.qq.com/fx/u?r=OfFE5AA ios h ...
- ggplot 画 条形图
今天开会谈了半天自己的研究结果,同事皱着眉头,第一好像她没大听懂,第二感觉眼前一亮,但不知怎么落地.落地这个事情,交给时间吧,我想练熟我的分析. 今天搞了个简单的,条形图. 就是EXCEL里面经常玩的 ...
- spring3: schema的aop与Aspectj的aop的区别
schema的aop如下: 接口: package chapter6.service; public interface IHelloAroundService { public void sayAr ...
- go语言的一个简单httpserver
httpserver.go package main import ( "net/http" "flag" "fmt" "log& ...
- 在一个web 应用中,改变url无非是2种方式,一种是利用超链接进行跳转,另一种是使用浏览器的前进和回退功能
在一个web 应用中,改变url无非是2种方式,一种是利用超链接进行跳转,另一种是使用浏览器的前进和回退功能 https://www.jianshu.com/p/27ee7df4ccc1
- oracle索引-二元高度
本文转载 作为数据库管理员来说,要在表上建立索引很简单.但是要知道这个索引是否合适.如何优化索引则就具有一定的难度.这项工作也是用来评价一个数据库管理员是否算得上专家的一个重要指标.那么为什么索引优化 ...