永发信息网

java 我写的这个代码 圆为什么不能移动啊

答案:1  悬赏:10  手机版
解决时间 2021-03-17 16:35
package Unit16;
import java.awt.*;

import javax.swing.*;

import java.awt.event.*;
public class Exercise16_3 extends JFrame{

private JButton jbtRight = new JButton("Right");
private JButton jbtLeft = new JButton("Left");
private JButton jbtUp = new JButton("Up");
private JButton jbDwon = new JButton("Dwon");

public Exercise16_3(){
setLayout(new BorderLayout());
JPanel p = new JPanel(new FlowLayout());
p.add(jbtUp);
p.add(jbDwon);
p.add(jbtLeft);
p.add(jbtRight);
add(BorderLayout.CENTER,new Ball());
add(BorderLayout.SOUTH,p);

Ball listener = new Ball();

jbtUp.addActionListener(listener);
jbDwon.addActionListener(listener);
jbtLeft.addActionListener(listener);
jbtRight.addActionListener(listener);

listener.y += 100;

}
public static void main(String[] args) {
Exercise16_3 frame = new Exercise16_3();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300,300);
frame.setLocationRelativeTo(null);
frame.setVisible(true);

}
class Ball extends JPanel implements ActionListener{

private int radius = 5;
private int x = 100;
private int y = 100;
protected void paintComponent(Graphics g){
super.paintComponent(g);
g.drawOval(x, y, 50, 50);
}

public void actionPerformed(ActionEvent e){
if(e.getSource() == jbtUp){
System.out.println("dwqdqdw");
y -= 20;
System.out.println(y);
repaint();
}else if(e.getSource() == jbDwon){
y += 5;
repaint();
}else if (e.getSource() == jbtLeft){
x -= 5;
repaint();
}else if(e.getSource() == jbtRight){
x += 5;
repaint();
}
}
}

}
最佳答案
//用了两个Ball 所以不行了  修改了一下有错误的地方,你看到就明白了为什么错了
public Exercise16_3() {
setLayout(new BorderLayout());
JPanel p = new JPanel(new FlowLayout());
p.add(jbtUp);
p.add(jbDwon);
p.add(jbtLeft);
p.add(jbtRight);
Ball listener = new Ball();
add(BorderLayout.CENTER, listener);
add(BorderLayout.SOUTH, p);
jbtUp.addActionListener(listener);
jbDwon.addActionListener(listener);
jbtLeft.addActionListener(listener);
jbtRight.addActionListener(listener);
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
年轻人买手机,2016年,现在1700块钱以内买什
此事渐渐见分明 花开花谢结子成 宽心且看月中
青海江海质量检测有限责任公司我想知道这个在
大众汽车生产于哪个国家
当年造的房子装修贴墙纸能贴吗
WOW军团再临版本盗贼PVE和PVP分别什么专精比
深圳宝安西乡九围新村先歌科技工业园到西乡客
我一个魅蓝手机,刚买用时没有什么异常,可用
125摩托车附加费是什么
这句话出自哪里 人类为了逃避黑暗而聚在一起
平抛运动那个tanθ我看不懂,除以Vo有什么用
御都丽景地址有知道的么?有点事想过去
我想学化妆,但是没有一点基础,想去做化妆学
沈阳哪里打耳洞比较好
根号,有理数,无理数的意思
推荐资讯
wps大长横线用什么符号
指南针 阅读答案
第一次促排失败还能继续促排吗?
妻子离家出走6年了,一直联系不上,离婚需要多
什么叫股权奖励?
进口途观中控mib,安卓手机什么导航软件可以
耳机进水了声音变小了,怎么办。
幼儿英语英孚、迪士尼英语、瑞思学科哪个比较
银行卡里的钱被快捷支付但我没买任何东西怎么
右大腿外测有一个很大的胞,去医院抽出来东西
贵阳那儿有厂
孔子三千子弟七十二贤人其中七十二贤人是那七
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?