求助:
请问在GUI设计方面能不能模拟方向键,如手机的方向键.能给段代码吗?新手啊,多多关照.谢谢啊!

解决方案 »

  1.   

    /*写了个小程序,通过键盘的方向键控制红色的圆球(标签)上下左右运动.不知道是否实现你的想法*/import java.awt.*;
    import java.awt.geom.*;
    import java.awt.event.*;
    import javax.swing.*;public class DirectionListener extends JFrame{
    private int x,y;
    public Piece piece;
    public DirectionListener(){
    x=0;
    y=0;
    piece=new Piece();
    Container cp=getContentPane();
    cp.setBackground(new Color(175,175,175));
    setSize(600,600);
    cp.add(piece);KeyAdapter keyHandler=new KeyAdapter(){
    public void keyPressed(KeyEvent e){
    switch(e.getKeyCode()){
                    case KeyEvent.VK_DOWN:
                         y +=20;
                         piece.setLocation(x,y);
                         break;
                    case KeyEvent.VK_LEFT:
                         x -=20;
                         piece.setLocation(x,y);
                         break;
                    case KeyEvent.VK_RIGHT:
                         x +=20;
                         piece.setLocation(x,y);                     break;
                    case KeyEvent.VK_UP:
                         y -=20;
                         piece.setLocation(x,y);
                         break;
                        
                    default:
                        break;
                        
                }
    }
    };
    addKeyListener(keyHandler);  
    }
    public static void main(String[] args){
      DirectionListener frame=new DirectionListener();
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setVisible(true);
    }
    private class Piece extends JLabel{
    public void paintComponent(Graphics g){
    super.paintComponent(g);
    Graphics2D g2=(Graphics2D)g;
    g2.setPaint(Color.RED);
    g2.fill(new Ellipse2D.Double(0,0,30,30));
    }
    }
    }