私はちょうどjavaを使い始めています。私は新しいGUIに取り組んでいました。私は自分のJFrameを作るメソッドを作って、デフォルトの位置、クローズオペレーション、背景色などを設定しました。公開メソッドで開始されたオブジェクトを解決できませんか?
私は、これを別の方法で作成しました。私はすでにメインメソッドにこれらのすべてのものを入れておけば、このメソッドを解決する方法を知っています。
これはコードです:私は、「メインウィンドウ」は解決できないと言って私のメインメソッドでエラーが発生します
public class Main {
public static void makeWindow(){
JFrame mainWindow = new JFrame();
mainWindow.setVisible(true);
mainWindow.setPreferredSize(new Dimension(400,400));
mainWindow.pack();
mainWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainWindow.setLocationRelativeTo(null);
}
public static void main(String args[]){
makeWindow();
JPanel mainPanel = new JPanel();
mainWindow.add(mainPanel);
}
}
。どうしてこれなの?他のメソッドでmainWindowオブジェクトを作ったからでしょうか? makeWindow()メソッドのすべてをメインメソッドに入れずにこの問題を解決する方法はありますか?
mainWindowは、makeWindow()メソッドに対してローカルです。それはすべて範囲についてです。 –
ここにスコープの外部ガイドがあります:http://www.geeksforgeeks.org/variable-scope-in-java/ – Compass
mainWindowはローカルですが、mainWindowはオブジェクトであることに気付きました。インスタンスオブジェクトを作成するにはどうすればいいですか?私はすでにそれぞれのメソッドの外でインスタンス変数を宣言できることを知っていますが、オブジェクトに対して同じようにすることはできますか? – Psear