1、创建一个登陆窗口:
步骤: 1.定义一个QQFrame,让该类继承自JFrame。
2.在QQFrame类中定义主函数和初始化界面的方法。
3.在主函数中实例化QQFrame类的对象,调用初始化界面的方法。
4.在初始化界面的方法中,设置窗体的属性值(标题,大小,位置、可见,...)
5.创建容器或者元素控件添加到JFrame上。
2、实现点击登陆按钮时,弹出一个“创意画板”的界面:
创意画板界面的设置与上大体相同,不再赘述
首先需要创建QQListener( ActionListener接口)的对象再给事件源jbu添加动作监听器方法。
完成这步需要建一个QQListener类实现ActionListener接口,并重写接口中的抽象方法。
代码:
public class QQListener implements ActionListener{ //重写接口中的抽象方法(事件处理方法) public void actionPerformed(ActionEvent e) { System.out.println("您点击了"+e.getActionCommand()+"按钮"); //创建QQ的对象 QQ qq=new QQ(); //调用画板方法 qq.DrawBorder(); } }
注:实现接口的关键字:implements
格式:
public class 类 (extends 类) implements 接口 (先继承再实现){
//定义属性
//定义构造方法 普通方法
当类实现接口后,必须实现(重写)接口中的所有抽象方法,否则报错
}
3、实现在创意画板中单击鼠标画出椭圆的操作:
在这一步需要建一个DrawListener类实现MouseListener接口并实现其中所有的
抽象方法,但要实现画图操作还得在QQ类中的DrawBorder窗体方法(事件源)
里获取窗体的Graphics对象,由于抽象类中不能new对象,只能取,并且需要在窗体可见
之后获取其画笔对象 所以代码为:Graphics g=this.getGraphics();
并创建MouseListener的子类DrawListener的对象 给事件源添加鼠标监听器方法:
DrawListener l=new DrawListener(g);
this.addMouseListener(l);
以下是DrawListener类的代码:
public class DrawListener implements MouseListener{ //声明一个Graphics类型的对象属性 private Graphics g; //构造方法 从QQ传过来的画笔对象 public DrawListener(Graphics g){ this.g=g; } public void mouseClicked(MouseEvent e) { int x; int y; x=e.getX(); y=e.getY(); //g.drawRect(x, y, 150, 150); g.drawOval(x, y, 120, 150); g.drawArc(x+20, y+30, 50, 50, 30, 30); } public void mousePressed(MouseEvent e) { } public void mouseReleased(MouseEvent e) { } public void mouseEntered(MouseEvent e) { } public void mouseExited(MouseEvent e) { } }
只有组件才能成为事件源对象即动作响应的位置。
以下是我的登陆窗口和创意画板窗口的代码:
//1.定义一个QQFrame,让该类继承自JFrame。
public class QQ extends JFrame{ //2.在QQFrame类中定义主函数和初始化界面的方法。 //程序入口 public static void main(String[] args) { //3.在主函数中实例化QQFrame类的对象,调用初始化界面的方法。 QQ qq=new QQ(); //调用对象的方法 qq.initUI(); } //创建一个窗体界面的方法 public void initUI(){ //4.在初始化界面的方法中,设置窗体的属性值(标题,大小,位置,可见,...) //创建流式布局对象!!! FlowLayout fl=new FlowLayout(); //加到界面上 this.setLayout(fl); this.setTitle("登录");//设置标题 this.setSize(300, 200);//设置大小 this.setLocationRelativeTo(null);//居中 //5.创建容器或者元素控件添加到JFrame上。 //添加标签:账号 javax.swing.JLabel jlb1=new javax.swing.JLabel("账号"); this.add(jlb1); //输入框 JTextField jt=new JTextField(20); this.add(jt); //添加标签:密码 javax.swing.JLabel jlb2=new javax.swing.JLabel("密码"); this.add(jlb2); //输入框 JTextField jt1=new JTextField(20); this.add(jt1); //添加按钮:登录 JButton jbu=new JButton("登录"); this.add(jbu); this.setVisible(true);//置于最后 让窗体显现 this.setDefaultCloseOperation(3);//关闭窗体时 退出程序 //创建QQListener( ActionListener接口)的对象 QQListener ql=new QQListener(); //给事件源jbu添加动作监听器方法 jbu.addActionListener(ql); } //创意画板 public void DrawBorder(){ this.setTitle("创意画板"); this.setSize(800, 800); this.setLocationRelativeTo(null);//居中 this.setVisible(true); //获取窗体上的Graphics对象 抽象类中不能new对象 只能取 Graphics g=this.getGraphics(); //创建MouseListener接口的子类DrawListener 的对象 DrawListener l=new DrawListener(g); //给事件源添加鼠标监听器方法 this.addMouseListener(l); } }
至此可实现:程序运行出现一个登陆窗口,点击登陆按钮出现一个创意画板窗口,在创意画板上能够画圆。
梣梓
2014、09、25
相关推荐
运用用户界面事件结构,模拟一个简单的画图板功能。它有4个功能选项:点(point)、线(line)、圆(circle)和椭圆(oval),一次完成的绘画过程是:在画布上单击鼠标开始绘制→按住鼠标的同时在画布上拖动鼠标→在...
易语言画板应用事件源码,画板应用事件,显示亿万位,画板统计数据
web点击按钮事件弹出画板功能的画板插件,windows自带的画板工具,在做视频教学的项目中需要用到画图工具,这个插件功能还是非常完善的
包含图像重绘,迭代图像,递归图形等全功能的创意画板
高频PCB板画板心得总结docx,高频PCB板画板心得总结
Android触摸事件小小画板
画板
易语言源码易语言画板控件的功能应用与事件源码.rar 易语言源码易语言画板控件的功能应用与事件源码.rar 易语言源码易语言画板控件的功能应用与事件源码.rar 易语言源码易语言画板控件的功能应用与事件源码.rar ...
labview编程的简单画板程序,实现画直线、画圆、椭圆等。
protel99SE画板简明流程总结,看完本总结对protel99画pcb板有一个整体的概念,本总结原创,根据很多次具体pcb画板过程总结而来
易语言画板控件的功能应用与事件源码,画板控件的功能应用与事件
简单的图形画板,界面类似于系统画板和ps
利用touch的触摸事件处理,实现画板画画的功能,并提供撤销,清屏以及保存图片到相册的功能
一个简单的画板,黑大软体实验二,对学java会有帮助
易语言画板自绘界面源码,画板自绘界面,绘制_界面,绘制_标签,鼠标位置被移动事件,鼠标左键被按下事件,内部按钮
火山安卓高级画板实现画板开发源码
VB编写画板VB编写画板VB编写画板VB编写画板VB编写画板VB编写画板VB编写画板VB编写画板
ios画板源码ios画板源码ios画板源码ios画板源码ios画板源码
几何画板最强中文永久免费5.06版本安装包下载解压安装即可几何画板最强中文永久免费5.06版本安装包下载解压安装即可几何画板最强中文永久免费5.06版本安装包下载解压安装即可几何画板最强中文永久免费5.06版本安装包...
易语言画板界面源码例程程序结合易语言画板组件画出界面效果。 点评:易语言画板界面源码是易语言画板组件的应用例程。