質問するログイン新規登録

Q&A

2回答

361閲覧

エラー: シンボルを見つけられません

nacha_n

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2023/12/29 05:21

0

0

実現したいこと

javaのGUIを勉強しているものです。以下のMain.javaMain.javaのプログラムを実行すると、「MainWindowクラスのシンボルが見つかりません」エラーが出ます。
Main.javaファイルとMainWindowファイルはそれぞれ違うファイルで作成しておりlastというフォルダーに入っています。
なぜエラーが出るのでしょうか。。。
プログラム初心者なのでわかりやすく教えていただけると幸いです。よろしくお願いいたします。

発生している問題・分からないこと

別ファイルの中にあるクラスのシンボルが見つかりませんでした。(Main.javaで実行、MainWindow.java内にあるMainWindowクラスのシンボルが見つからない)

エラーメッセージ

error

1Main.java:8: エラー: シンボルを見つけら 2れません 3 static MainWindow mainWindow; 4 ^ 5 シンボル: クラス MainWindow 6 場所: クラス Main 7Main.java:10: エラー: シンボルを見つけられません 8 mainWindow = new MainWindow(); 9 ^ 10 シンボル: クラス MainWindow 11 場所: クラス Main 12Main.java:13: エラー: シンボルを見つけられません 13 mainWindow.setFrontScreenAndFocus(ScreenMode.TITLE); 14 15 ^ 16 シンボル: 変数 ScreenMode 17 場所: クラス Main 18エラー3個

該当のソースコード

//ここからMain.java package last; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.*; public class Main{ static MainWindow mainWindow; public static void main(String[] args){ mainWindow = new MainWindow(); mainWindow.preparePanels(); mainWindow.prepareComponents(); mainWindow.setFrontScreenAndFocus(ScreenMode.TITLE); mainWindow.setVisible(true); } } //ここからMainWindow.java package last; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class MainWindow extends JFrame{ private static final long serialVersionUID = 1L; //フィールド ScreenMode screenmode = ScreenMode.TITLE; final int WIDTH = 800; final int HEIGHT = 600; CardLayout layout = new CardLayout(); TitlePanel titlePanel; GamePanel gamePanel; MainWindow(){ this.setTitle("タイトルを設定"); ImageIcon icon = new ImageIcon(getClass().getClassLoader().getResource("画像のpng")); this.setIconImage(icon.getImade()); this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.setResizable(false); this.getContentPane().setBackground(Color.green); this.setLayout(layout); this.setPreferredSize( new Dimension(WIDTH,HEIGHT)); this.pack(); this.setLocationRelative(null); //this.setLocation(450,50); public void preparePanels(){ titlePanel = new TitlePanel(); this.add(titlePanel,"タイトル画面"); gamePanel = new GamePanel(); this.add(gamePanel,"ゲーム画面"); this.pack(); } public void prepareComponents(){ titlePanel.prepareComponents(); gamePanel.prepareComponents(); } public void setFrontScreenAndFocus(ScreenMode s){ screenMode = s; //表示される画面の設定 switch (screenMode) { case TITLE: layout.show(this.getContentPane(),"タイトル画面"); titlePanel.requestFocus(); break; case GAME: layout.show(this.getContentPane(),"ゲーム画面"); gamePanel.requestFocus(); break; } } } }

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

「java シンボルが見つからない」で検索し、大文字小文字の違い、変数名が誤っている、import が不足しているは確認しました。

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

guest

回答2

0

javac *.java
のようにしてみてください。

投稿2024/01/11 09:21

退会済みユーザー

退会済みユーザー

総合スコア0

0

反応が無いので削除します。

投稿2023/12/29 08:30

編集2024/05/03 22:25
hiroki-o

総合スコア1793

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.29%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問