JFrame画图基础和事件监听

消息框
JOptionPane.showMessageDialog(mine.this, "删除不成功!");
画图
class MyJPanel extends JPanel //继承面板类
{public void paint(Graphics g) //覆盖父类的方法,paint相当于画图{g.drawOval(30, 30, 80, 80);  //画圆g.drawLine(100, 100, 200, 200); //画直线 ,两点坐标g.setColor(Color.RED);g.drawRect(50,50,50,50);g.draw3DRect(100, 100, 100, 100,true); //画矩形 ,参数是做上角坐标和长宽g.setColor(Color.BLUE);g.fillRect(100, 100, 100, 100); //填充矩形g.fill3DRect(50, 50, 50, 50, false); //填充3d效果的矩形}
}
导入图片
Image tp=Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/龙猫2.jpg")); //固定格式,得到图片g.drawImage(tp, 30, 30, 100, 100, this); //画图
绘文字
g.setColor(Color.BLUE);g.setFont(new Font("华文彩云",Font.BOLD,50));g.drawString("很强", 100, 100);
监听事件
JButton bt=new JButton("运行");bt.addActionListener(this);  //自己的MyListener jt=new MyListener();bt.addActionListener(jt);  //另一个bt.setActionCommand("yunxing");public void actionPerformed(ActionEvent e) //必须实现监听器的抽象方法{if(e.getActionCommand()=="yunxing"){System.out.println("运行成功");}}}class MyListener implements ActionListener  //继承父类
{public void actionPerformed(ActionEvent e) //实现这个抽象函数{if(e.getActionCommand()=="yunxing") System.out.println("很强");}
}
键盘事件
this.add(mjp);
this.addKeyListener(mjp); //要添加监听器class MyJPanel extends JPanel implements KeyListener //给面板实现键盘监听接口,以下3个函数必须实现
{int x=50,y=50;public void paint(Graphics g){super.paint(g); //调用父类g.fillRect(x, y, 50, 50); //画矩形}public void keyPressed(KeyEvent e) { //按键事件// TODO Auto-generated method stub//System.out.println("键盘被按下");//System.out.println((char)e.getKeyCode());if(e.getKeyCode()==KeyEvent.VK_UP){    y-=5; }else if(e.getKeyCode()==KeyEvent.VK_DOWN){ y+=5; }else if(e.getKeyCode()==KeyEvent.VK_LEFT){ x-=5; }else if(e.getKeyCode()==KeyEvent.VK_RIGHT){ x+=5; }this.repaint();}public void keyReleased(KeyEvent e) { //松开事件// TODO Auto-generated method stub}public void keyTyped(KeyEvent e) { //打字事件// TODO Auto-generated method stub}
}
鼠标事件
this.add(mjp);
this.addMouseListener(mjp);class MyJPanel extends JPanel implements MouseListener //以下5个函数要写
{int x=50,y=50;public void paint(Graphics g){super.paint(g);g.drawOval(x, y, 50, 50);}public void mouseClicked(MouseEvent e) //鼠标点击事件{System.out.println(e.getX()+","+e.getY());x=e.getX();y=e.getY();this.repaint();}public void mouseReleased(MouseEvent e) //松开{}public void mouseExited(MouseEvent e)  //出界面{}public void mousePressed(MouseEvent e) //按下{}public void mouseEntered(MouseEvent e) //进入界面{}
}
增加新的对话窗口
public void actionPerformed(ActionEvent e) //原来窗口的监听{if(e.getActionCommand()=="tianjia"){Add add=new Add(this,"ok",true); //新的对话界面}}
class Add extends JDialog implements ActionListener
{public Add(Frame fck,String ckm,boolean msck){super(fck,ckm,msck);  //父类//this.setTitle("学生信息");this.setSize(500, 500);this.setLocation(100, 100);JButton jb=new JButton("取消");jb.addActionListener(this);jb.setActionCommand("quxiao");this.add(jb);this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);this.setVisible(true);}public void actionPerformed(ActionEvent e){if(e.getActionCommand()=="quxiao"){this.dispose(); //关闭窗口}}
}

JAVA JFrame画图基础和事件监听相关推荐

  1. JavaScript 基础--- (正则表达式 / 事件监听与绑定)

    正则表达式 创建正则表达式: 方法一: var reg = /pattern/; 方法二:var reg = new RegExp('pattern'); RegExp 对象的常用方法: 示例: &l ...

  2. JAVA的GUI编程02——事件监听(ActionListener)、TextField事件监听、(组合、内部类)

    一.事件监听 public class TestListener {public static void main(String[] args) {Frame frame = new Frame(); ...

  3. 事件监听机制(一)Java事件监听

    事件监听机制(一)Java事件监听 事件监听实现流程 事件对象: 继承自java.util.EventObject对象,由开发者自行定义实现. 事件源: 就是触发事件的源头,不同的事件源会触发不同的事 ...

  4. java swing(GUI图形化界面)基础教程3-添加事件监听1

    学习此内容前建议先去学习java基础知识: 匿名内部类 (学的多的可以用lambda表达式,更加简便) 好, 我们先看一下之前的代码(即一个窗口和一个按钮) 如果想看详细内容,链接为: (23条消息) ...

  5. Java学习——复习 第八天 Swing程序设计、AWT绘图、事件监听

    16.Swing程序设计 1.Swing概述--Swing主要用来开发GUI程序,GUI即图形图像界面,他是应用程序提供给用户操作的图形界面,包括窗口.菜单.按钮等元素. 1.1Swing的特点--允 ...

  6. java中事件监听_Java中的事件监听机制

    鼠标事件监听机制的三个方面: 1.事件源对象: 事件源对象就是能够产生动作的对象.在Java语言中所有的容器组件和元素组件都是事件监听中的事件源对象.Java中根据事件的动作来区分不同的事件源对象,动 ...

  7. Java中事件监听机制

    Java中事件监听机制 一.事件监听机制的定义 要想了解Java中的事件监听机制,首先就要去了解一下在Java中事件是怎样去定义的呢!在使用Java编写好一个界面后,我们就会对界面进行一些操作,比如, ...

  8. 13、Java Swing事件监听:事件处理模型和事件监听器

    事件表示程序和用户之间的交互,例如在文本框中输入,在列表框或组合框中选择,选中复选框和单选框,单击按钮等.事件处理表示程序对事件的响应,对用户的交互或者说对事件的处理是事件处理程序完成的. 当事件发生 ...

  9. java监听com口_简单了解Java接口+事件监听机制

    1.接口: 定义方法: public interface interName //extends interName2, interName3...可继承多个接口 在接口里只能定义常量和抽象方法. p ...

最新文章

  1. AI一周热闻:GitHub免费开放无限私有库;苹果市值蒸发超450亿美元;小米入股TCL...
  2. Hadoop开发环境配置2-eclipse集成maven插件
  3. freebsd linux目录,FreeBSD和Linux如何互相访问文件系统
  4. zabbix中文配置指南
  5. 【老鸟进阶】deepfacelab错误人脸图片快速处理
  6. 使用Unity3D视频转换器TheoraConverter.NET 1.1 Setup转换视频格式为ogv并播放视频
  7. python随机森林回归_机器学习:Python实现随机森林回归
  8. 方法区、永久代、元空间的区别
  9. Java学习(10) —— 常用类
  10. 百练_1004:财务管理
  11. 如果你想学数据科学,这 7 类资源千万不能错过...
  12. 领存技术至强 E5-2648L 6U VPX 通用密集计算刀片
  13. 约约约,文章约起来!
  14. 初识js-charts和E-charts
  15. Android 编译命令 make j8 21 | tee build.log 解释
  16. java蓝桥杯练习 拉马车
  17. Linux常用命令——rm命令
  18. 树莓派CM4 USB不能使用
  19. 3D模型欣赏:康林博克战士 科幻 游戏角色【3D游戏建模教程】
  20. EtherCAT主站SOEM —— 分布式时钟(Distributed Clock)抓包分析

热门文章

  1. Source Insight之Relation Window Properties配置和一些快捷键
  2. 《看聊天记录都学不会Python到游戏实战?太菜了吧》(7)我用函数写了个特洛伊木马
  3. 【看动漫学编程】程序员在异世界生个娃 第1篇:太极村
  4. oracle进程结构中完成更新,Oracle 进程结构
  5. 【QMIX】一种基于Value-Based多智能体算法
  6. oc引导windows蓝屏_跟电脑蓝屏say no!【亲测有效】
  7. 花季少女竟然有个三年级老公??!
  8. 史上最被低估的两个学科!它们远比你想的更重要!
  9. 听说,99%的数学家都算不出这道题
  10. 1个月教你学会用Python实现机器学习