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(); //关闭窗口
}
}
}
JFrame画图基础和事件监听的更多相关文章
- JS基础(二)事件监听练习之table鼠标悬停行变色
JS监听事件简单学习: [object].addEvent("事件类型","处理函数","冒泡事件或捕获事件"); [object].r ...
- js基础——事件绑定(事件监听)
JavaScript事件一共有三种监听方法分别如下: 1.事件监听一夹杂在html标签内 <div id="box" onClick="alert('HELLO W ...
- Java中的事件监听机制
鼠标事件监听机制的三个方面: 1.事件源对象: 事件源对象就是能够产生动作的对象.在Java语言中所有的容器组件和元素组件都是事件监听中的事件源对象.Java中根据事件的动作来区分不同的事件源对象,动 ...
- java 事件监听 - 鼠标
java 事件监听 - 鼠标 //事件监听 //鼠标事件监听 //鼠标事件监听有两个实现接口 //1.MouseListener 普通的鼠标操作 //2.MouseMotionListener 鼠标的 ...
- java 事件监听 - 键盘
java 事件监听 - 键盘 //事件监听 //键盘事件监听,写了一个小案例,按上下左右,改变圆形的位置,圆形可以移动 import java.awt.*; import javax.swing.*; ...
- java 事件监听 - 控件
java 事件监听 //事件监听 //事件监听,写了一个小案例,点击按钮改变面板的颜色. import java.awt.*; import javax.swing.*; import java.aw ...
- java事件监听
获取事件监听需要获取实现ActionListener接口的方法, public class SimpleEvent extends JFrame{ private JButton jb=new ...
- android开发事件监听
第一种:匿名内部类作为事件监听器类 大部分时候,事件处理器都没有什么利用价值(可利用代码通常都被抽象成了业务逻辑方法),因此大部分事件监听器只是临时使用一次,所以使用匿名内部类形式的事件监听器更合适, ...
- 9、JcomboBox下拉框事件监听
9.JcomboBox下拉框事件监听 JComboBox()的事件监听类ItemListener.其范例代码如下: import java.awt.*; import java.awt.event.* ...
随机推荐
- solr安装
Windows solr(tomcat) 1.1. 安装步骤 1.1.1准备工作 1. 服务器:apache-tomcat-7.0.40压缩版,http://localhost:8080/安装是否成功 ...
- Oracle_Q&A_01
Step01: SHOW USER DESCRIPTION Step02:QUESTION & ANSWER --查询员工姓名和职位字数相等的员工 SELECT * from emp wher ...
- 正则表达式JSP实例
<%@ page language="java" import="java.util.*,cn.com.Person,cn.com.Adddress" p ...
- android 判断是否有sim卡及运营商
判断是否有sim卡的方法: int absent = TelephonyManager.SIM_STATE_ABSENT; if (1 == absent) { Log.d(TAG,"请 ...
- C#委托的回调机制
代码如下: public partial class FrmMain : Form { // 定义回调使用关键字 delegate(回调是委托的一种应用,其本质就是委托) private delega ...
- 02-大文件Copy(FileStream文件流类)
static void Main(string[] args) { string source = @"e:\1.exe";//要移动文件的路径 大文件 string target ...
- 统计"面"要素中"点"要素的个数.
步骤 1,创建字段 IFields /// <summary> /// 创建:"面"-"点数"的字段. /// </summary> / ...
- O、Ω、Θ表示
转载,原网址为:http://book.2cto.com/201211/8127.html 对于任何数学函数,这三个记号可以用来度量其“渐近表现”,即当趋于无穷大时的阶的情况,这是算法分析中非常重要的 ...
- MyEclipse笔记(2):debug的使用
对于程序代码而言,学会调debug是重中之重,依此,掌握该技巧 以算1到50的和的代码为例: package com.front.action; public class debug { public ...
- MVC-生成验证码
1.在网上可以随便找一个生成验证码的类例如: using System; using System.Drawing; using System.Drawing.Imaging; using Syste ...