コマンドプロンプトを実行すると以下のようなエラー文が出ました。
Exception in thread "main" java.lang.IllegalArgumentException: cannot add to lay
out: unknown constraint: Canter
at java.awt.BorderLayout.addLayoutComponent(Unknown Source)
at java.awt.BorderLayout.addLayoutComponent(Unknown Source)
at javax.swing.JRootPane$1.addLayoutComponent(Unknown Source)
at java.awt.Container.addImpl(Unknown Source)
at java.awt.Container.add(Unknown Source)
at calendar.<init>(calendar.java:49)
at calendar.main(calendar.java:78)
本などで、自分なりに調べたのですが解決できずに困っています。
原因が分かる方、いらっしゃいましたらご回答いただけますか?
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
#1の補足
綴りミスの場所はcalendarクラスのコンストラクタの中(calendar.javaの49行目前後)と思われ。
ただ、そこが最初にエラーを引き起こした箇所というだけで他の場所にはミスがないとは言い切れないが。
No.1
- 回答日時:
"Canter"でなく"Center"。
GUI部品をGUIコンテナにaddする時に、
コンテナ.add(部品, "Canter") // Centerの綴りミス
// もっと大昔の書き方なら、コンテナ.add("Canter", 部品)かもだけど、さすがにこれはないと思う
のようにしているのだろうと思う。
# コンテナがthisなら「コンテナ.」は省略されているかもしれない。
文字列で直接部品の場所を指定する書き方ではコンパイラは文字列の綴りまではチェックできないので、
実行時に綴りの間違いでエラーが出るまで今回のようなミスに気が付かない。
コンテナ.add(部品, BorderLayout.CENTER)
のようにレイアウトマネージャクラス自身が定義した定数を使うようにすれば、
BorderLayout.CENTER を BorderLayout.CANTER と書き間違えた時に、
コンパイラがそんなものは定義されてないというエラーを出してくれる。
今回のように実行時にエラーが出るケースならまだエラー出力から原因を特定しやすいが、
下手をすると実行時エラーすら出ずに妙な動作が行われるようなケースもあるので、
コンパイル時にコーディングのミスを発見できるようにすることは重要。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Outlook(アウトルック) 休みが明けてメールをみたらやばいです 3 2022/08/17 09:03
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- Java mac mini 2009 でのmac OS における Java の入れ替えについて 1 2022/12/27 19:23
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- 英語 L-PRF can be obtained by manual or automated metho 1 2022/04/08 09:39
- その他(パソコン・周辺機器) チャレンジタッチ3 改造 アプリインストールできない 1 2022/07/01 14:43
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- C言語・C++・C# C#の基本文法が詳しく書かれている教科書的な本ありますか 2 2023/02/11 03:48
- FX・外国為替取引 1.The U.S. FI sells $100 million for pounds at the 1 2022/05/03 00:08
- 英語 Greater stress was reported in axial direction at 1 2022/07/20 12:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列にnullを代入すると、null...
-
JAの支部?地域の農協のカード...
-
プログラミングの問題です。大...
-
eclipse実行ができない
-
問題作成のWebアプリの作り方を...
-
正規表現について質問です。 カ...
-
list の空は [] ってあわらすのに
-
下記問題の答えが"D"になる意味...
-
jdk17.06のインストーラーが起...
-
自作Androidアプリのデータ引き...
-
Processingでマウスクリックで...
-
えハミルトン路と全域木のちが...
-
CSV出力を画面から選択したデー...
-
ショートカットキーについて
-
あんまりお料理しないのに台所...
-
質問です。 配列が100以上の場...
-
次のhtml・cssでspan内の文字を...
-
Jupyter notebookですわかりま...
-
Eclipse 動的プロジェクトで404...
-
改行含むテキストの表示の仕方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラミングの問題です。大...
-
マイクラでPythonのプログラミ...
-
配列にnullを代入すると、null...
-
jdk17.06のインストーラーが起...
-
Eclipse 動的プロジェクトで404...
-
list の空は [] ってあわらすのに
-
下記問題の答えが"D"になる意味...
-
JaneStyleのスレッドが見れなく...
-
正規表現について質問です。 カ...
-
eclipseで作ったプログラムを他...
-
改行含むテキストの表示の仕方
-
リレーションエンティティクラ...
-
質問です。 配列が100以上の場...
-
次のhtml・cssでspan内の文字を...
-
キー入力について
-
自作Androidアプリのデータ引き...
-
問題作成のWebアプリの作り方を...
-
eclipse実行ができない
-
変数名とDBカラム名の関係性に...
-
デバッグツールの具体例を教え...
おすすめ情報