自分でパッケージを書くことを学びたいので、IDEにも頼りません。問題は、自分のパッケージを実行する方法や、自分のパッケージを実行するための適切な方法がわからないことです。
これが私がいくつかの基本を学ぶために使用したリソースです:http://javaworkshop.sourceforge.net/chapter3.html
これが私の現在のファイル構造です:
Main.java
/src
projectaqua/
GameFrame.java
/classes
projectaqua/
GameFrame.class
プロジェクトのルートディレクトリでコマンドを実行しました。javac -d ./classes/ ./src/projectaqua/*.java
私はもともと/src/ projectaquaディレクトリにメインファイルを作成し、そのファイルを実行しようとしました。私はこのエラーを与えられました:
Main.java:1: error: package projectaqua does not exist
import projectaqua.GameFrame;
Mainファイルをパッケージと一緒にコンパイルするときに/classes/ projectaquaディレクトリでアプリケーションを実行しようとしましたが、クラスが定義されていないというエラーが発生しました。
これでパッケージがコンパイルされました。私が直面している問題は、独自のパッケージをインポートして実行する方法と、パッケージを実行するファイルがどこにあるのかがわからないことです。
私が学校で学んだことから、GUIアプリケーションを作成するとき、フレームをインスタンス化するためのメイン関数を持つクラスを作成します。それが唯一の仕事です。これはこの構造のどこにありますか?
直感的には、ファイルはsrcファイルの外にあるように見えますが、それではsrcファイルの目的が失われているように感じます。このトピックへのstackoverflowで役立つものは何も見つかりませんでした。もしそうなら、またはその方向に私を向けてください。
その他のソースコード:
GameFrameクラス:
package projectaqua;
import javax.swing.JFrame;
public class GameFrame extends JFrame
{
private int WINDOW_HEIGHT = 500;
private int WINDOW_WIDTH = 500;
private String title = "Project Aqua";
private boolean isVisible = true;
public GameFrame()
{
// Basic Window Defaults
setSize(WINDOW_WIDTH, WINDOW_HEIGHT);
setTitle(this.title);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Content Pane junk
// Will be added
setVisible(this.isVisible);
}
}
メインクラス
import projectaqua.GameFrame;
public class Main
{
public static void main(String[] args)
{
GameFrame launch = new GameFrame();
}
}