好的我有2节课 这是我的主要类,它打开一个JFrame并将一些东西绘制到JFrame:
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
public class MainWindow extends Canvas{
public static int HEIGHT = 600;
public static int WIDTH = 600;
public static void main(String[] args){
MainWindow Window = new MainWindow();
JFrame Frame = new JFrame();
Frame.add(Window);
Frame.pack();
Frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Frame.setVisible(true);
Frame.setSize(WIDTH, HEIGHT);
Frame.setLocationRelativeTo(null);
Frame.setResizable(false);
Frame.setTitle("Untitled Build 0.01");
}
public void paint(Graphics g){
g.setColor(Color.BLACK);
g.fillRect(0, 0, WIDTH, HEIGHT);
g.setColor(Color.GRAY);
g.drawString("Sellect A Difficulty", 100, 25);
g.drawString("Please input a number from 1 - 3", 100, 40);
g.drawString("1. Easy", 100, 55);
g.drawString("2. Medium", 100, 70);
g.drawString("3. Hard", 100, 85);
g.setColor(Color.BLACK);
}
}
这是我的第二课,它用于设置游戏的难度,但我需要主类来调用它,但我不知道如何让它做到这一点。
public class Difficulty {
public static final int input = 0;
static int NoInput = 1;
public static int Difficulty = 0;
@SuppressWarnings("unused")
public static void main(String[] args){
if(NoInput == 1){
//draw text to screen here
//TODO Write text to screen here about selecting difficulty
Difficulty = Keyboard.readInt();
if(input == 1){
Difficulty = 1;
}else if(input == 2){
Difficulty = 2;
}else if(input == 3){
Difficulty = 3;
}else if(input < 0 | input > 3){
//TODO draw "please input a number between 1 and 3 try again...." to screen
}
}
}
}
答案 0 :(得分:2)
你的第二堂课只不过是一个带有一个静态主方法的程序,这是行不通的。建议:
答案 1 :(得分:2)
为什么你有两个主要空隙?您应该为难度类使用构造函数。 将所有代码放入如下方法中:
public Difficulty() {
//All your code here
}
您可以通过创建此类的新实例来调用此方法。
Difficulty object = new Difficulty();
创建对象时将自动调用构造函数。
答案 2 :(得分:2)
Hovercraft Full Of Eels(漂亮的名字顺便说一下)已经回答了这个问题,但无论如何我还要补充2美分:P
第二个类使用public static void main(String [] args)这意味着它将单独运行。
快速修复可能是为该类创建构造函数,然后通过对象调用它。
public class Difficulty {
public Difficulty(){
// Code here
}
}
致电:
Difficulty difficulty = new Difficulty();
这将在创建对象后立即调用构造函数,从而在您选择时执行代码。