使用Java进行简单的井字游戏。
我有一个名为GameHelpers
的班级。该类应包含有用的游戏方法。游戏发生在另一个班级。
GameHelpers
中的方法是ResetGame()
。此方法应该将所有9个按钮(井字棋盘)上的文本设置为空白,再次启用它们,并将变量设置为1.
这是代码:
public class GameHelpers {
public void resetGame(){
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
buttons[i][j].setEnabled(true);
buttons[i][j].setText("");
count = 1;
}
}
}
}
buttons[]
是游戏主要类TicTacToe
中的一组JButton。
此方法以前位于游戏的主要类TicTacToe
中。但是现在它处于不同的类中,它无法到达TicTacToe
类中的按钮并操纵它们。
我在TicTacToe
中创建了get和set方法,但是如何从GameHelpers
激活它们?
如何在GameHelpers
中使用该方法?
答案 0 :(得分:4)
您可以参考Java to EXE - Why, When, When Not and How
<强>缺点强>
磁盘占用空间。 Java字节码专为紧凑性而设计,因此它的级别远高于典型的CPU指令集。 期望AOT编译器生成的可执行文件为2-4 比原始jar文件大一倍。
动态应用。应用程序可能无法在运行时动态加载的类 开发商。这些可以是第三方插件,动态代理和 在运行时生成的其他类等。所以运行时系统 必须包含Java字节码解释器和/或JIT编译器。
此外,在一般情况下,只有由其中任何一个加载的类 系统或应用程序类加载器可以预编译为本机代码。 因此,广泛使用自定义类加载器的应用程序可能只是 部分预编译。
特定于硬件的优化。 JIT编译器具有优于AOT编译器的潜在优势,因为它可以选择代码生成 模式根据应用程序所在的实际硬件而定 执行。例如,它可能使用英特尔MMX / SSE / SSE2扩展 加速浮点计算。 AOT编译器必须要么 为最小公分母生成代码或应用版本控制 最耗费CPU的方法,这会导致进一步的代码大小 增加。
答案 1 :(得分:0)
根据个人经验,如果有一个只出现在EXE版本中的错误,您最终可能会花费大量时间来追踪它,并决定更容易为用户提供其他版本。
听起来我觉得你真的想让整体用户更轻松。我不知道你的预算是多少,但是像install4j这样的东西可能是更好的解决方案。