消息框

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画图基础和事件监听的更多相关文章

  1. JS基础(二)事件监听练习之table鼠标悬停行变色

    JS监听事件简单学习: [object].addEvent("事件类型","处理函数","冒泡事件或捕获事件");   [object].r ...

  2. js基础——事件绑定(事件监听)

    JavaScript事件一共有三种监听方法分别如下: 1.事件监听一夹杂在html标签内 <div id="box" onClick="alert('HELLO W ...

  3. Java中的事件监听机制

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

  4. java 事件监听 - 鼠标

    java 事件监听 - 鼠标 //事件监听 //鼠标事件监听 //鼠标事件监听有两个实现接口 //1.MouseListener 普通的鼠标操作 //2.MouseMotionListener 鼠标的 ...

  5. java 事件监听 - 键盘

    java 事件监听 - 键盘 //事件监听 //键盘事件监听,写了一个小案例,按上下左右,改变圆形的位置,圆形可以移动 import java.awt.*; import javax.swing.*; ...

  6. java 事件监听 - 控件

    java 事件监听 //事件监听 //事件监听,写了一个小案例,点击按钮改变面板的颜色. import java.awt.*; import javax.swing.*; import java.aw ...

  7. java事件监听

    获取事件监听需要获取实现ActionListener接口的方法, public class SimpleEvent extends JFrame{    private JButton jb=new ...

  8. android开发事件监听

    第一种:匿名内部类作为事件监听器类 大部分时候,事件处理器都没有什么利用价值(可利用代码通常都被抽象成了业务逻辑方法),因此大部分事件监听器只是临时使用一次,所以使用匿名内部类形式的事件监听器更合适, ...

  9. 9、JcomboBox下拉框事件监听

    9.JcomboBox下拉框事件监听 JComboBox()的事件监听类ItemListener.其范例代码如下: import java.awt.*; import java.awt.event.* ...

随机推荐

  1. NuGet学习笔记(2)——使用图形化界面打包自己的类库

    上文NuGet学习笔记(1) 初识NuGet及快速安装使用说到NuGet相对于我们最重要的功能是能够搭建自己的NuGet服务器,实现公司内部类库的轻松共享更新.在安装好NuGet扩展后,我们已经能够通 ...

  2. (第三章)Java内存模型(上)

    一.java内存模型的基础 1.1 并发编程模型的两个关键问题 在并发编程中,需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体).通信是指线程之间以何种机制来 ...

  3. (原创)android4.4沉浸式标题栏

    趁着清明节的闲工夫,把我的百年不升级一次系统的红米note手机升级到了miuiv6的系统,早就听说android4.4的系统有沉浸式标题栏,一直没有体验过.这次终于有机会了.看了几个手机上常用的应用都 ...

  4. html表格标签与属性

    标记:  标 记  说 明 <Table> 表格标记 <Tr> 行标记 <Td> 单元格标记  <Th> 表头标记 <Table>标记属性: ...

  5. 服务器上开启远程sqlserver小细节

    之前按网络上过程配置完成后,连接都很正常.今天看的时候,突然就连接不上了.弄了半天,终于知道问题在哪里了.

  6. Unable to find manifest signing certificate in the certificate(Visual studio)

    今天打开之前做的项目,突然得到很奇怪的编译错误: Unable to find manifest signing certificate in the certificate 网上搜一下,有两个方法, ...

  7. 修改Servlet模板

    1.找到jar文件 查看MyEclipse根目录下的myeclipse.ini,找到Common文件夹的位置,打开文件夹..\Common\plugins 找到文件 com.genuitec.ecli ...

  8. C++编译指令#pragma pack的配对使用

    #pragma pack可以用来指定C++数据结构的成员变量的内存对齐数值(可选值为1,2,4,8,16). 本文主要是强调在你的头文件中使用pack指令要配对使用,以避免意外影响项目中其他源文件的结 ...

  9. C# window 窗体 保持最前显示

    两句话搞定 [DllImport("user32.dll", CharSet = CharSet.Auto)]  private static extern int SetWind ...

  10. [Mugeda HTML5技术教程之9]使用元件

    元件是一个可以在舞台上实例化和再利用的预先生成的独立动画.一个元件有它自己的时间轴(层,单位等),可以独立显示的动画.元件提高了动画的重用性和灵活性,是个强大的存在.元件可用于创建复杂的动画效果. 所 ...