Hey Guys は、私のコードで発生したこの Java の問題についてあなたの助けが必要です。私は基本的にカー レース シミュレータとして使用されている GUI を作成しました。レース、ivはレースの最初の部分だけを行いましたが、うまくいかなかったので、先に進む前に問題を修正したいと思います. 説明するのは難しいですが、コードを表示する方が簡単です(以下にあります)。もっと私が書こうとしていることを言うことができます。私は問題が何であるかについて傾向がありません。私がそれをデバッグすると(Eclipse IDEを使用しているように)、機能しない部分は単にウィンドウ全体を黒くし、約1分間何も表示されず、ほとんどのコードをスキップし、残りのことさえしません。さらに情報が必要な場合は、私に尋ねてください。私は多くのクラスを持っていますが、それらはおそらく皆さんをより混乱させるので、私が問題を抱えているクラスだけを貼り付けてください.
(注: SportCar- は 5 つのサブクラス (Astonmatin、Audi、Ferrari、Porsche、Lamborghini) を持つスーパー クラスです)
(注: Track は、GUI インターフェイスを備えた独自のクラスであり、大きなクラスであり、SportsCar とそのサブクラスの変数とメソッドを使用します。すべてのメソッドと変数は問題ではありません)
(注: 問題は actionPerformed(ActionEvent startrace) 内にあります) 十分な詳細を提供していただければ幸いです。よろしくお願いします。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.GridLayout;
public class Track extends JFrame {
private JComboBox ChooseYourCar;
private JComboBox ChooseOppsCar;
private JButton StartRace;
private JTextArea CheckYourCarAtts;
private JTextArea CheckOppsCarAtts;
private JTextArea Commentry;
private String temp;
private String temp1;
private String[] Cars = {"Choose Car Please ","Aston martin","Audi","Ferrari","Porsche","Lamborghini"};
private int counter=0;
private JTextField[] Green= new JTextField[11];
private JTextField[] Green1= new JTextField[11];
private JPanel Track = new JPanel();
private SportCar first;
private SportCar Second;
public Track(){
JPanel Center = new JPanel();
JPanel West = new JPanel();
JPanel East= new JPanel();
JPanel North = new JPanel();
Track.setLayout(new GridLayout(2,11,0,3));
while (counter!=11)
{
Green[counter]= new JTextField("");
Green[counter].setBackground(Color.GREEN);
Green1[counter]= new JTextField("");
Green1[counter].setBackground(Color.GREEN);
counter++;
}
counter= 0;
while (counter!=11){
Track.add(Green[counter]);
counter++;
}
counter= 0;
while (counter!=11){
Track.add(Green1[counter]);
counter++;
}
add(West, BorderLayout.WEST);
add(Center, BorderLayout.CENTER);
add(East, BorderLayout.EAST);
add(North,BorderLayout.NORTH);
add(Track,BorderLayout.SOUTH);
ChooseYourCar = new JComboBox(Cars);
West.add(ChooseYourCar);
ChooseOppsCar = new JComboBox(Cars);
West.add(ChooseOppsCar);
StartRace = new JButton("Start Race");
East.add(StartRace);
CheckYourCarAtts = new JTextArea(12,30);
CheckYourCarAtts.setBackground(Color.RED);
Center.add(CheckYourCarAtts);
CheckOppsCarAtts = new JTextArea(12,30);
CheckOppsCarAtts.setBackground(Color.RED);
Center.add(CheckOppsCarAtts);
Commentry = new JTextArea(2,50);
North.add(Commentry);
event chooseyourcar = new event();
ChooseYourCar.addActionListener(chooseyourcar);
event1 Chooseoppscar = new event1();
ChooseOppsCar.addActionListener(Chooseoppscar);
event2 startrace = new event2();
StartRace.addActionListener(startrace);
}
public class event implements ActionListener{
public void actionPerformed(ActionEvent chooseyourcar){
if(ChooseYourCar.getSelectedItem()=="Aston martin")
{
SportCar AstonMartin = new Astonmartin(400,1.0,1200,220);
String str=("ASTON MARTIN\n"+"This is the Car You have currently Selected \n" +"Horsepower: " +AstonMartin.getHorsepower()+"\n"+ "Weight: "+ AstonMartin.getWeight()+ "\n"+ "Topspeed: "+ AstonMartin.getTopspeed()+ "\n"+ "The car goes from 0-60Mph(secs) in: "+ AstonMartin.acceleration()+ "\n"+ "The Fuel Consumption is: "+ AstonMartin.GetFuelConsumption());
CheckYourCarAtts.setText(str);
}
if(ChooseYourCar.getSelectedItem()=="Audi")
{
SportCar Audi = new Audi(300,1.2,1200,200);
String str=("AUDI\n"+"This is the Car You have currently Selected\n" +"Horsepower: " +Audi.getHorsepower()+"\n"+ "Weight: "+ Audi.getWeight()+ "\n"+ "Topspeed: "+ Audi.getTopspeed()+ "\n"+ "The car goes from 0-60Mph(secs) in: "+ Audi.acceleration()+ "\n"+ "The Fuel Consumption is: "+ Audi.GetFuelConsumption());
CheckYourCarAtts.setText(str);
}
if(ChooseYourCar.getSelectedItem()=="Ferrari")
{
SportCar Ferrari = new Ferrari(440,0.8,900,260);
String str=("FERRARI\n"+"This is the Car You have currently Selected\n" +"Horsepower: " +Ferrari.getHorsepower()+"\n"+ "Weight: "+ Ferrari.getWeight()+ "\n"+ "Topspeed: "+ Ferrari.getTopspeed()+ "\n"+ "The car goes from 0-60Mph(secs) in: "+ Ferrari.acceleration()+ "\n"+ "The Fuel Consumption is: "+ Ferrari.GetFuelConsumption());
CheckYourCarAtts.setText(str);
}
if(ChooseYourCar.getSelectedItem()=="Porsche")
{
SportCar Porsche = new Porsche(380,0.9,1000,220);
String str=("PORSCHE\n"+"This is the Car You have currently Selected\n" +"Horsepower: " +Porsche.getHorsepower()+"\n"+ "Weight: "+ Porsche.getWeight()+ "\n"+ "Topspeed: "+ Porsche.getTopspeed()+ "\n"+ "The car goes from 0-60Mph(secs) in: "+ Porsche.acceleration()+ "\n"+ "The Fuel Consumption is: "+ Porsche.GetFuelConsumption());
CheckYourCarAtts.setText(str);
}
if(ChooseYourCar.getSelectedItem()=="Lamborghini")
{
SportCar Lamborghini = new Lamborghini(440,0.7,900,250);
String str=("LAMBORGHINI\n"+"This is the Car You have currently Selected\n" +"Horsepower: " +Lamborghini.getHorsepower()+"\n"+ "Weight: "+ Lamborghini.getWeight()+ "\n"+ "Topspeed: "+ Lamborghini.getTopspeed()+ "\n"+ "The car goes from 0-60Mph(secs) in: "+ Lamborghini.acceleration()+ "\n"+ "The Fuel Consumption is: "+ Lamborghini.GetFuelConsumption());
CheckYourCarAtts.setText(str);
}
}
}
public class event1 implements ActionListener{
public void actionPerformed(ActionEvent chooseoppscar){
if(ChooseOppsCar.getSelectedItem()=="Aston martin")
{
SportCar AstonMartin = new Astonmartin(400,1.0,1200,220);
String str=("ASTON MARTIN\n"+"This is the Car You have currently Selected\n" +"Horsepower: " +AstonMartin.getHorsepower()+"\n"+ "Weight: "+ AstonMartin.getWeight()+ "\n"+ "Topspeed: "+ AstonMartin.getTopspeed()+ "\n"+ "The car goes from 0-60Mph(secs) in: "+ AstonMartin.acceleration()+ "\n"+ "The Fuel Consumption is: "+ AstonMartin.GetFuelConsumption());
CheckOppsCarAtts.setText(str);
}
if(ChooseOppsCar.getSelectedItem()=="Audi")
{
SportCar Audi = new Audi(300,1.2,1200,200);
String str=("AUDI\n"+"This is the Car You have currently Selected\n" +"Horsepower: " +Audi.getHorsepower()+"\n"+ "Weight: "+ Audi.getWeight()+ "\n"+ "Topspeed: "+ Audi.getTopspeed()+ "\n"+ "The car goes from 0-60Mph(secs) in: "+ Audi.acceleration()+ "\n"+ "The Fuel Consumption is: "+ Audi.GetFuelConsumption());
CheckOppsCarAtts.setText(str);
}
if(ChooseOppsCar.getSelectedItem()=="Ferrari")
{
SportCar Ferrari = new Ferrari(440,0.8,900,260);
String str=("FERRARI\n"+"This is the Car You have currently Selected\n" +"Horsepower: " +Ferrari.getHorsepower()+"\n"+ "Weight: "+ Ferrari.getWeight()+ "\n"+ "Topspeed: "+ Ferrari.getTopspeed()+ "\n"+ "The car goes from 0-60Mph(secs) in: "+ Ferrari.acceleration()+ "\n"+ "The Fuel Consumption is: "+ Ferrari.GetFuelConsumption());
CheckOppsCarAtts.setText(str);
}
if(ChooseOppsCar.getSelectedItem()=="Porsche")
{
SportCar Porsche = new Porsche(380,0.9,1000,220);
String str=("PORSCHE\n"+"This is the Car You have currently Selected\n" +"Horsepower: " +Porsche.getHorsepower()+"\n"+ "Weight: "+ Porsche.getWeight()+ "\n"+ "Topspeed: "+ Porsche.getTopspeed()+ "\n"+ "The car goes from 0-60Mph(secs) in: "+ Porsche.acceleration()+ "\n"+ "The Fuel Consumption is: "+ Porsche.GetFuelConsumption());
CheckOppsCarAtts.setText(str);
}
if(ChooseOppsCar.getSelectedItem()=="Lamborghini")
{
SportCar Lamborghini = new Lamborghini(440,0.7,900,250);
String str=("LAMBORGHINI\n"+"This is the Car You have currently Selected\n" +"Horsepower: " +Lamborghini.getHorsepower()+"\n"+ "Weight: "+ Lamborghini.getWeight()+ "\n"+ "Topspeed: "+ Lamborghini.getTopspeed()+ "\n"+ "The car goes from 0-60Mph(secs) in: "+ Lamborghini.acceleration()+ "\n"+ "The Fuel Consumption is: "+ Lamborghini.GetFuelConsumption());
CheckOppsCarAtts.setText(str);
}
}
}
public class event2 implements ActionListener{
public void actionPerformed(ActionEvent startrace){
if(ChooseYourCar.getSelectedItem()=="Aston martin")
{
SportCar AstonMartin = new Astonmartin(400,1.0,1200,220);
first= AstonMartin;
}
if(ChooseYourCar.getSelectedItem()=="Audi")
{
SportCar Audi = new Audi(300,1.2,1200,200);
first= Audi;
}
if(ChooseYourCar.getSelectedItem()=="Ferrari")
{
SportCar Ferrari = new Ferrari(440,0.8,900,260);
first= Ferrari;
}
if(ChooseYourCar.getSelectedItem()=="Porsche")
{
SportCar Porsche = new Porsche(380,0.9,1000,220);
first= Porsche;
}
if(ChooseYourCar.getSelectedItem()=="Lamborghini")
{
SportCar Lamborghini = new Lamborghini(440,0.7,900,250);
first= Lamborghini;
}
if(ChooseOppsCar.getSelectedItem()=="Aston martin")
{
SportCar AstonMartin = new Astonmartin(400,1.0,1200,220);
Second= AstonMartin;
}
if(ChooseOppsCar.getSelectedItem()=="Audi")
{
SportCar Audi = new Audi(300,1.2,1200,200);
Second= Audi;
}
if(ChooseOppsCar.getSelectedItem()=="Ferrari")
{
SportCar Ferrari = new Ferrari(440,0.8,900,260);
Second= Ferrari;
}
if(ChooseOppsCar.getSelectedItem()=="Porsche")
{
SportCar Porsche = new Porsche(380,0.9,1000,220);
Second= Porsche;
}
if(ChooseOppsCar.getSelectedItem()=="Lamborghini")
{
SportCar Lamborghini = new Lamborghini(450,0.7,900,250);
Second= Lamborghini;
}
ChooseYourCar.setVisible(false);
ChooseOppsCar.setVisible(false);
Commentry.setText("IT IS TIME TO GET THE SIMLATION UNDER WAY, THE TWO CARS HAVE BEEN CHOOSEN AND THERE ATTRIBUTES ARE BELOW.");
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Track.setLocation(1, 1);
Track.setBackground(Color.BLACK);
Track.setLocation(2, 1);
Track.setBackground(Color.ORANGE);
Commentry.setText("THE CARS ARE NOW IN PLACE IN BLACK WE HAVE "+ first.getName()+"\n"+"WHILE OUR OTHER CAR IN ORANGE, WE HAVE "+ Second.getName());
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Commentry.setText("LETS RACE");
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Commentry.setText("3");
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Commentry.setText("2");
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Commentry.setText("1");
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Commentry.setText("GO");
double firstCurrentPosition = (first.getcurrentspeed()+first.getGrip());
double secondCurrentPosition = (Second.getcurrentspeed()+Second.getGrip());
if(firstCurrentPosition>secondCurrentPosition){
Track.setLocation(1, 1);
Track.setBackground(Color.GREEN);
Track.setLocation(2, 1);
Track.setBackground(Color.GREEN);
Track.setLocation(1, 3);
Track.setBackground(Color.BLACK);
Track.setLocation(2, 2);
Track.setBackground(Color.ORANGE);
Commentry.setText("WOW "+ firstCurrentPosition+ " "+ secondCurrentPosition);
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Track window = new Track();
window.setDefaultCloseOperation(EXIT_ON_CLOSE);
window.setSize(750,530);
window.setVisible(true);
window.setTitle("Car Race Simulator");
}
}