自24天前我已經到這個的全部時間。我有一個自定義的jpanel,使用定時器繪製一個簡單的動畫。我想要的是在皮卡丘和佐助之間的中間顯示這個面板(我一直在努力嘗試直到現在),這樣動畫就開始了,只有點擊這個按鈕纔會發生。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class App extends JFrame {
private static JPanel p53 = new JPanel();
private static JButton fire = new JButton("Attack");
private AttackFX attackfx = new AttackFX();
public App() {
fire.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent atk) {
p53.add(attackfx);
Timer timer1 = new Timer(800, new ActionListener() {
@Override
public void actionPerformed(ActionEvent ld2) {
}
});
timer1.start();
timer1.setRepeats(false);
}
});
}
public static void main(String[] a) {
App Battleframe = new App();
Battleframe.add(fire);
Battleframe.add(p53);
Battleframe.setResizable(false);
Battleframe.setTitle("OnFight.Combat_Arena_Beta");
Battleframe.setSize(381, 400);
Battleframe.setLocationRelativeTo(null);
Battleframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Battleframe.setVisible(true);
}
class AttackFX extends JPanel {
private int xCoor = 1;
public AttackFX() {
Timer tm1 = new Timer(100, new TimerListener2());
tm1.start();
tm1.setRepeats(true);
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
xCoor += 1;
g.setColor(Color.cyan);
g.fillOval(xCoor, 40, 8, 8);
}
class TimerListener2 implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
repaint();
}
}
}
}
我真的需要你對這位先生的幫助。明天是我正在製作的整個節目的演示。這是完成它的最後一步。我盡我所能去解決這個問題,但沒有成功。
1)爲了更好地提供幫助,請發佈[SSCCE](http://sscce.org/)。 2)請在句子開頭添加大寫字母。還要爲單詞I使用大寫字母,並使用JEE或WAR等縮寫詞和首字母縮略詞。這使人們更容易理解和幫助。 –
*「我沒有太多時間。」*我沒有太多的耐心。 SSCCE在哪裏? –
*「那好嗎,先生?」*它*不** * **編譯***! ' ' –