• <legend id='dCYZN'><style id='dCYZN'><dir id='dCYZN'><q id='dCYZN'></q></dir></style></legend>

      <i id='dCYZN'><tr id='dCYZN'><dt id='dCYZN'><q id='dCYZN'><span id='dCYZN'><b id='dCYZN'><form id='dCYZN'><ins id='dCYZN'></ins><ul id='dCYZN'></ul><sub id='dCYZN'></sub></form><legend id='dCYZN'></legend><bdo id='dCYZN'><pre id='dCYZN'><center id='dCYZN'></center></pre></bdo></b><th id='dCYZN'></th></span></q></dt></tr></i><div id='dCYZN'><tfoot id='dCYZN'></tfoot><dl id='dCYZN'><fieldset id='dCYZN'></fieldset></dl></div>

      1. <tfoot id='dCYZN'></tfoot>
      2. <small id='dCYZN'></small><noframes id='dCYZN'>

        • <bdo id='dCYZN'></bdo><ul id='dCYZN'></ul>

        没有任何事件发生

        时间:2023-06-28

        <small id='iBP4D'></small><noframes id='iBP4D'>

          <tbody id='iBP4D'></tbody>

            <legend id='iBP4D'><style id='iBP4D'><dir id='iBP4D'><q id='iBP4D'></q></dir></style></legend>

            • <tfoot id='iBP4D'></tfoot>
                <bdo id='iBP4D'></bdo><ul id='iBP4D'></ul>

                • <i id='iBP4D'><tr id='iBP4D'><dt id='iBP4D'><q id='iBP4D'><span id='iBP4D'><b id='iBP4D'><form id='iBP4D'><ins id='iBP4D'></ins><ul id='iBP4D'></ul><sub id='iBP4D'></sub></form><legend id='iBP4D'></legend><bdo id='iBP4D'><pre id='iBP4D'><center id='iBP4D'></center></pre></bdo></b><th id='iBP4D'></th></span></q></dt></tr></i><div id='iBP4D'><tfoot id='iBP4D'></tfoot><dl id='iBP4D'><fieldset id='iBP4D'></fieldset></dl></div>
                  本文介绍了没有任何事件发生的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  这是我的代码.我正在尝试使用箭头键让球移动.当我运行上述程序时不显示球(如果我将坐标更改为显示 0,30 球)并且没有触发事件,球既不移动也不跳跃

                  This is my code.I am trying to make the ball move using arrow keys. As i run the above program ball is not displayed (if i change the coordinates to like 0,30 ball is displayed) and event is not fired ,ball neither moves nor jumps

                  什么问题?

                  import java.awt.*;
                  import java.awt.event.*;
                  import javax.swing.*;
                  
                  class ControlledBall extends JPanel{
                  
                  int diameter = 30;
                  int height = 30;
                  int x_Pos = 0;
                  int y_Pos;
                  
                  ControlledBall() {
                    JFrame fr = new JFrame("Controlled Ball");
                    this.setBackground(Color.black);
                    fr.add(this);
                    fr.setVisible(true);
                    fr.setSize(600,400);
                    y_Pos = this.getHeight() - diameter ;
                    register();  
                    repaint();
                  }
                  
                  public void register() {
                    this.addKeyListener(new KeyAdapter() {
                      public void keyPressed(KeyEvent ke) {
                         if( ke.getKeyCode() == ke.VK_RIGHT ) {
                             increment();
                         }
                     else  if( ke.getKeyCode() == ke.VK_LEFT ) {
                             decrement();
                         }
                         else if( ke.getKeyCode() == ke.VK_UP) {
                             jump();
                         }
                      }
                   });
                  }
                  
                  public void paintComponent(Graphics g) {
                   super.paintComponent(g);
                   g.setColor( Color.blue );
                   g.fillOval( x_Pos , y_Pos , diameter , height );
                   System.out.println("testing...");
                  }  
                  
                  public void increment() {
                   x_Pos++;
                    if( x_Pos > (this.getWidth() - diameter) ) {
                      x_Pos = this.getWidth() - diameter;
                    }
                   repaint();
                  }
                  
                  public void decrement() {
                   x_Pos--;
                    if( x_Pos <= 0) {
                      x_Pos = 0;
                    }
                   repaint();
                  }
                  
                  public void jump() {
                   y_Pos++;
                    if( y_Pos <=0 ) {
                     y_Pos = 0;
                   }
                  repaint();
                  }
                  
                    public static void main( String args[] ) {
                      new ControlledBall();
                    }
                  }
                  

                  推荐答案

                  import java.awt.*;
                  import java.awt.event.*;
                  import javax.swing.*;
                  
                  class ControlledBall extends JPanel{
                  
                  int diameter = 30;
                  int height = 30;
                  int x_Pos = 0;
                  int y_Pos;
                  
                  ControlledBall() {
                    JFrame fr = new JFrame("Controlled Ball");
                    fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                    this.setBackground(Color.red);    
                    setPreferredSize(new Dimension(400,300));
                    fr.add(this);
                    fr.setVisible(true);
                    // important!
                    fr.pack();
                    //fr.setSize(600,400);
                    y_Pos = this.getHeight()/2;
                    register();
                    repaint();
                  }
                  
                  public void register() {
                      // very important!
                      setFocusable(true);
                    this.addKeyListener(new KeyAdapter() {
                      public void keyPressed(KeyEvent ke) {
                         if( ke.getKeyCode() == ke.VK_RIGHT ) {
                             increment();
                         }
                     else  if( ke.getKeyCode() == ke.VK_LEFT ) {
                             decrement();
                         }
                         else if( ke.getKeyCode() == ke.VK_UP) {
                             jump();
                         }
                      }
                   });
                  }
                  
                  public void paintComponent(Graphics g) {
                   super.paintComponent(g);
                   g.setColor( Color.orange );
                   g.fillOval( x_Pos , y_Pos , diameter , height );
                  }
                  
                  public void increment() {
                   x_Pos++;
                    if( x_Pos > (this.getWidth() - diameter) ) {
                      x_Pos = this.getWidth() - diameter;
                    }
                   repaint();
                  }
                  
                  public void decrement() {
                   x_Pos--;
                    if( x_Pos <= 0) {
                      x_Pos = 0;
                    }
                   repaint();
                  }
                  
                  public void jump() {
                   y_Pos++;
                    if( y_Pos <=0 ) {
                     y_Pos = 0;
                   }
                  repaint();
                  }
                  
                    public static void main( String args[] ) {
                      new ControlledBall();
                    }
                  }
                  

                  这篇关于没有任何事件发生的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:将事件转发到所有组件 JAVA 下一篇:Java - 如何更改“本地"?事件侦听器中的变量

                  相关文章

                • <legend id='H0jnE'><style id='H0jnE'><dir id='H0jnE'><q id='H0jnE'></q></dir></style></legend>

                  <small id='H0jnE'></small><noframes id='H0jnE'>

                  1. <tfoot id='H0jnE'></tfoot>

                    • <bdo id='H0jnE'></bdo><ul id='H0jnE'></ul>

                      <i id='H0jnE'><tr id='H0jnE'><dt id='H0jnE'><q id='H0jnE'><span id='H0jnE'><b id='H0jnE'><form id='H0jnE'><ins id='H0jnE'></ins><ul id='H0jnE'></ul><sub id='H0jnE'></sub></form><legend id='H0jnE'></legend><bdo id='H0jnE'><pre id='H0jnE'><center id='H0jnE'></center></pre></bdo></b><th id='H0jnE'></th></span></q></dt></tr></i><div id='H0jnE'><tfoot id='H0jnE'></tfoot><dl id='H0jnE'><fieldset id='H0jnE'></fieldset></dl></div>