0
私は自分自身でJavaでプログラムすることを学んでいますが、ヘルスバーを作成しようとしていますが、健康状態は表示されますが、シンプルな2dゲームのスケルトンを作っていて、そのボタンはコマンドを知るだけです)、健康は落ちません。私はこれが私のCMDに現れる3回ボタンを押すと:JavaのJProgressbarが更新されない、不明なソースエラー
ここに私のコードです:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class test{
private static JFrame frame = new JFrame("test");
private static JPanel panel = new JPanel();
private static JPanel panel1 = new JPanel();
private static JPanel panel2 = new JPanel();
private static JButton button1 = new JButton("UP");
private static JButton button2 = new JButton("DN");
private static JButton button3 = new JButton("L");
private static JButton button4 = new JButton("R");
private static JLabel background = new JLabel(new ImageIcon("C:\\Users\\beau\\Downloads\\background.jpg"));
private static int startHealth = 20;
private static int healthBoost = 0;
private static int maxHealth = startHealth + healthBoost;
private static int damage = 0;
private static int damageTaken;
private static int curentHealth;
public static void main(String[] args){
//JFrame Properties
frame.setSize(900,600);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.setVisible(true);
//shown stuff Properties and Adding
damageTaken += damage;
curentHealth = maxHealth - damageTaken;
JProgressBar health = new JProgressBar(0,curentHealth);
health.setStringPainted(true);
health.setString(curentHealth + "/" + maxHealth);
health.setValue(curentHealth);
frame.add(background);
panel.setLayout(null);
background.setLayout(null);
button1.setBounds(61,420,50,50);
button2.setBounds(61,520,50,50);
button3.setBounds(11,470,50,50);
button4.setBounds(111,470,50,50);
panel.setBounds(725,0,175,600);
health.setBounds(10,20,150,20);
panel.add(button1);
panel.add(button2);
panel.add(button3);
panel.add(button4);
panel.add(health);
background.add(panel);
button1.addActionListener (new Action1());
background.revalidate();
}
static class Action1 implements ActionListener{
public void actionPerformed (ActionEvent e){
damage = 5;
main(new String[] {"a","b","c"});
}
}
static class Action2 implements ActionListener{
public void actionPerformed (ActionEvent e){
}
}
static class ActionReset implements ActionListener{
public void actionPerformed (ActionEvent e){
}
}
}
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class test{
private static JFrame frame = new JFrame("test");
private static JPanel panel = new JPanel();
private static JPanel panel1 = new JPanel();
private static JPanel panel2 = new JPanel();
private static JButton button1 = new JButton("UP");
private static JButton button2 = new JButton("DN");
private static JButton button3 = new JButton("L");
private static JButton button4 = new JButton("R");
private static JLabel background = new JLabel(new ImageIcon("C:\\Users\\beau\\Downloads\\background.jpg"));
private static int startHealth = 20;
private static int healthBoost = 0;
private static int maxHealth = startHealth + healthBoost;
private static int damage = 0;
private static int damageTaken;
private static int curentHealth;
public static void main(String[] args){
//JFrame Properties
frame.setSize(900,600);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.setVisible(true);
//shown stuff Properties and Adding
damageTaken += damage;
curentHealth = maxHealth - damageTaken;
JProgressBar health = new JProgressBar(0,curentHealth);
health.setStringPainted(true);
health.setString(curentHealth + "/" + maxHealth);
health.setValue(curentHealth);
frame.add(background);
panel.setLayout(null);
background.setLayout(null);
button1.setBounds(61,420,50,50);
button2.setBounds(61,520,50,50);
button3.setBounds(11,470,50,50);
button4.setBounds(111,470,50,50);
panel.setBounds(725,0,175,600);
health.setBounds(10,20,150,20);
panel.add(button1);
panel.add(button2);
panel.add(button3);
panel.add(button4);
panel.add(health);
background.add(panel);
button1.addActionListener (new Action1());
background.revalidate();
}
static class Action1 implements ActionListener{
public void actionPerformed (ActionEvent e){
damage = 5;
main(new String[] {"a","b","c"});
}
}
static class Action2 implements ActionListener{
public void actionPerformed (ActionEvent e){
}
}
static class ActionReset implements ActionListener{
public void actionPerformed (ActionEvent e){
}
}
}
私はstackoverflow.comにGoogleとたくさんで検索が、i」はdidnの私の問題のように見える問題を見つけることはできません。誰かがこの問題で私を助けてくれますか?
あなたが起こっているかを調べるためにデバッガを使用しようとしましたか? – Jens
'main(new String [] {" a "、" b "、" c "});'あなたの 'ActionListener'で何をすると思いますか? – bradimus
スタックトレースの画像をポストしないでください。テキストをコピーして質問に貼り付け、4つのスペースで字下げすると、書式設定済みのブロックとして表示されます。 (画像はテキスト検索では表示されず、障害のあるユーザーには見えません)。 – VGR