質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
Java

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

Q&A

解決済

1回答

599閲覧

Javaで、シンボルが見つかりませんというエラーが直りません

kyaryyyy

総合スコア1

Java

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

0グッド

0クリップ

投稿2023/04/11 06:12

編集2023/04/11 06:16

Java言語です

MainPanelのシンボルが見つけられないというエラーが直りません。
色々調べて修正したのですが直りません。
このエラーを無くしたいのでご協力お願いします。
エラー文はこちら⬇️です

src\j999\r04j\r04j04\R04J04.java:4: エラー: シンボルを見つけられません
import j999.r04j.r04j04.MainPanel;
^
シンボル: クラス MainPanel
場所: パッケージ j999.r04j.r04j04
src\j999\r04j\r04j04\R04J04.java:17: エラー: シンボルを見つけられません
setContentPane(new j999.r04j.r04j04.MainPanel());
^
シンボル: クラス MainPanel
場所: パッケージ j999.r04j.r04j04
エラー2個

コードはこちら
クラスが3つあります。
1つ目のクラス⬇️

package j999.r04j.r04j04;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import j999.r04j.r04j04.MainPanel;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class MainPanel extends JPanel implements ActionListener {
private JLabel labelR = new JLabel("R");
private JLabel labelG = new JLabel("G");
private JLabel labelB = new JLabel("B");
private JTextField textR = new JTextField("");
private JTextField textG = new JTextField("");
private JTextField textB = new JTextField("");
private JButton buttonColor = new JButton("色表示");
private JButton buttonLiset = new JButton("初期化");
private ColorPanel colorPanel = new ColorPanel(Color.BLACK, BorderFactory.createLineBorder(Color.BLACK, 4));

MainPanel() { this.setBackground(new Color(255, 255, 255)); this.setLayout(null); add(labelR); labelR.setBounds(20, 50, 20, 20); add(labelG); labelG.setBounds(20, 100, 20, 20); add(labelB); labelB.setBounds(20, 150, 20, 20); add(textR); textR.setBounds(70, 50, 100, 30); add(textG); textG.setBounds(70, 100, 100, 30); add(textB); textB.setBounds(70, 150, 100, 30); add(buttonColor); buttonColor.setBounds(90, 220, 100, 30); add(buttonLiset); buttonLiset.setBounds(210, 220, 100, 30); add(colorPanel); colorPanel.setBounds(200, 50, 130, 130); buttonColor.addActionListener(this); buttonLiset.addActionListener(this); } @Override public void actionPerformed(ActionEvent ae){ int R,G,B; R=G=B=0; Object eventSource = ae.getSource(); if(eventSource == buttonColor){ try{ R = Integer.parseInt(textR.getText()); if(R>255||R<0)throw new Exception(); G = Integer.parseInt(textG.getText()); if(G>255||G<0)throw new Exception(); B = Integer.parseInt(textB.getText()); if(B>255||B<0)throw new Exception(); colorPanel.setColor(new Color(R,G,B)); }catch(Exception e){ textR.setText(Integer.toString(colorPanel.getRet())); textG.setText(Integer.toString(colorPanel.getGreen())); textB.setText(Integer.toString(colorPanel.getBlue())); } } buttonLiset.addActionListener(e -> { textG.setText("0"); textR.setText("0"); textB.setText("0"); colorPanel.setColor(Color.BLACK); }); }

}

2つ目のクラス⬇️

package j999.r04j.r04j04;

import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import j999.r04j.r04j04.MainPanel;

public class Main {
public static void main(String[] args) {
JFrame.setDefaultLookAndFeelDecorated(true);
SwingUtilities.invokeLater(() -> new R04J04("課題"));
}
}

3つ目のクラス⬇️

package j999.r04j.r04j04;

import javax.swing.JFrame;
import j999.r04j.r04j04.MainPanel;

public class R04J04 extends JFrame {
public R04J04(String title) {
this(title, 100, 100, 400, 300, false);
}

public R04J04(String title, int x, int y, int width, int height, boolean resizable) { super(title); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(x, y, width, height); setResizable(resizable); setContentPane(new j204.r04j.r04j04.MainPanel()); setVisible(true); }

}

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2023/04/11 06:26

j999.r04j.r04j04.MainPanelがビルドバス上にないのでは?としか言えない EclipseなどのIDEを用いているのであればビルドバスがどうなっているのか示してください javacコマンドを用いてビルドしているのであればそのオプションを示してください mavenやgradleをもちいているのであればそのビルド定義ファイルを示してください
int32_t

2023/04/11 06:27

それらのソースコードをどのようなファイル名・フォルダ名で保存してますか?
kyaryyyy

2023/04/11 06:47

R04J04/src/j999/r04j/r04j04/ の中にそれぞれ、 MainPanel.javaMain.javaR04J04.java、というフォルダ名で保存してあります。 R04J04ファイルの中にsrcとbinファイルがあります。 javacコマンドを用いています。 コマンドプロンプト上でR04J04に入った状態で、 javac src/j204/r04j/r04j04/R04J04.java -sourcepath src -d bin -cp bin と打っています。
jimbe

2023/04/11 08:44 編集

コードはファイル別にコードのマークダウン(```)をご利用ください。 >R04J04/src/j999/r04j/r04j04/ >の中にそれぞれ、 >MainPanel.java ~ >コマンドプロンプト上でR04J04に入った状態で、 >javac src/j204/r04j/r04j04/R04J04.java パス違うようですけど
kyaryyyy

2023/04/11 14:25

実際はJ204でやっているのですが、ここで質問する時のみJ299に変えて質問していたのですが、返信する際にJ204とそのまま打ってしまいました。プログラムに関してなのですが、クラスを分けずに一つにまとめてやったらコンパイル通りました。 ありがとうございました。
guest

回答1

0

自己解決

クラスをひとつにまとめて解決させました。

投稿2023/04/11 14:26

kyaryyyy

総合スコア1

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問