首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

这个监听器如何没效果?

2012-06-24 
这个监听器怎么没效果??Java codeimport java.awt.*import java.awt.event.KeyEventimport java.awt.eve

这个监听器怎么没效果??

Java code
import java.awt.*;import java.awt.event.KeyEvent;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;public class App_0622 extends JFrame{    /**     * @param args     */private JLabel lbl;     Container c=getContentPane();         public App_0622()     {         super("Image");         c.setLayout(new FlowLayout());         lbl=new JLabel(new ImageIcon("2.png"));         c.add(lbl);         //setSize(460,650);         c.addKeyListener(new hand());         setVisible(true);     }    class hand extends KeyAdapter     {         public void keypressed(KeyEvent e)         {             if(e.getKeyChar()=='r')             {                 for(int i=0;i<30;i++)                 {                     try                     {                     Thread.sleep(70);                     c.setSize(16*i,22*i);                     }                     catch(InterruptedException q)                     {                                           }                 }             }             if(e.getKeyChar()=='p')             {                 for( int i=29;i>0;i--)                 {                     try                     {                     Thread.sleep(70);                     c.setSize(16*i,22*i);                     }                     catch(InterruptedException q)                     {                                           }                 }             }         }     }    public static void main(String[] args)     {        // TODO Auto-generated method stub        App_0622 App=new App_0622();    }}


想实现程序运行后,按下r 窗口变大,按下p 变小,但是却没反应,哪里出错呢??

[解决办法]
Java code
import java.awt.*;import java.awt.event.KeyEvent;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;public class App_0622 extends JFrame{    /**     * @param args     */private JLabel lbl;     Container c=getContentPane();         public App_0622()     {         super("Image");         c.setLayout(new FlowLayout());         lbl=new JLabel(new ImageIcon("2.png"));         c.add(lbl);         //setSize(460,650);         addKeyListener(new hand());    //这里应该是给JFrame加监听         setVisible(true);     }    class hand extends KeyAdapter     {         public void keyPressed(KeyEvent e)    //这里写错了,你写成keypressed了         {             if(e.getKeyChar()=='r')             {                 System.out.println("r");                 for(int i=0;i<30;i++)                 {                     try                     {                     Thread.sleep(70);                     setSize(16*i,22*i);    //这里应该是设置JFrame的大小                     }                     catch(InterruptedException q)                     {                                           }                 }             }             if(e.getKeyChar()=='p')             {                 System.out.println("p");                 for( int i=29;i>0;i--)                 {                     try                     {                     Thread.sleep(70);                     setSize(16*i,22*i);    //这里应该是设置JFrame的大小                     }                     catch(InterruptedException q)                     {                                           }                 }             }         }     }    public static void main(String[] args)     {        // TODO Auto-generated method stub        App_0622 App=new App_0622();    }}
[解决办法]
探讨
Java code


import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.*;
import javax.swing.*;


import javax.swing.event.*;
public class App_0622 extends JFrame
{

/**
……

热点排行