java代码实现鼠标双击出现画图-----------paint()方法由系统自动调用,且一定是小写的字母p
2013-12-17 21:52
771 查看
总结:在运行过程中,自己不是很认真,没有检查自己写的代码,结果是无论你怎么运行,双击
frame都没用,因为系统根本就没有调用paint()方法绘图。所以很重要的是实现这个方法
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的Swing编程====实现鼠标双击一下==画图===getMouseClicked的方法
- Android java方法实现调用系统属性
- Js实现双击鼠标自动滚动屏幕的示例代码
- Js实现双击鼠标自动滚动屏幕的示例代码
- Js实现双击鼠标自动滚动屏幕的示例代码
- JAVA用JNI方法调用C代码实现HelloWorld(含windows及ubuntu两种操作系统环境下的操作)
- Thrift生成Java端和JavaScript端代码,并实现前端调用后端的方法
- Java传入用户名和密码并自动提交表单实现登录到其他系统的实例代码
- Java传入用户名和密码并自动提交表单实现登录到其他系统的实例代码
- java文件操作代码片断实例实现统计文件中字母出现的个数功能
- Android(java)学习笔记229:服务(service)之绑定服务调用服务里面的方法 (采用接口隐藏代码内部实现)
- 用Swig将c/c++程序转为java代码(使用swig实现java调用c、c++的方法)
- java本地方法调用(JNI)的参考代码----实现将String转换成char*,将char*转换成String.
- JAVA用JNI方法调用C代码实现HelloWorld
- 让Java程序自动重启的实现方法(推荐)
- webView 实现 与 javascript调用java方法(也称js调用native 方法) helloworld
- C++和JAVA中一些区别,包括指向子类的引用会调用谁的方法,子类构造函数自动调用父类构造函数时,父构造会调用的谁方法
- SwipeRefreshLayout实现用代码调用刷新方法
- 调用C#实现系统功能类的主要方法
- android的HAL第二种调用hal方法中的SystemServer (属于APP层)代码的实现: