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

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

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

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

Q&A

解決済

2回答

622閲覧

JComboBoxの内容を状況に応じて変更したい

Kamoshika

総合スコア12

Java

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

0グッド

0クリップ

投稿2018/05/26 12:05

前提・実現したいこと

1つ目のJComboBoxの選択内容に応じて2つ目のJComboBoxの内容を変更したいです。
例えば、1つ目に理科を選択した場合、2つ目には生物や物理、化学、地学を表示させ、1つ目を社会に選択し直したなら2つ目には地理、歴史、公民を表示させる・・・といったことです。

初歩的な質問かもしれませんが、回答よろしくお願いします。

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

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

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

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

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

guest

回答2

0

自己解決

提示されたURLを参考にいろいろ弄っていたら解決しました。

java

1 public void actionPerformed(ActionEvent e) { 2 String str = ""; 3 4 if (e.getSource() == comboTodoufuken) { //1番目のJComboBox 5 6 str = (String)comboTodoufuken.getSelectedItem(); 7 8 if (nowT.equals(str)){ 9 return; 10 } 11 12 switch(str) { 13 case "東京": 14 15 modelS.removeAllElements(); //2番目のJComboBoxのDefaultComboBoxModel 16 17 for (String array: new String[] {"新宿区", "文京区", "渋谷区"}){ 18 modelS.addElement(array); 19 } 20 nowT = "東京"; 21 break; 22 23 case "大阪": 24 modelS.removeAllElements(); 25 26 for (String array : new String[] {"大阪市", "堺市", "池田市"}) { 27 modelS.addElement(array); 28 } 29 nowT = "大阪"; 30 break; 31 } 32 } 33 }

回答ありがとうございました!

投稿2018/05/27 04:56

Kamoshika

総合スコア12

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

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

KSwordOfHaste

2018/05/27 05:35

解決してなによりです。今回のことを教訓にしていただきたいと思います。 つまり「使おうとしているクラスがあるならリファレンスは見ましょう」ということですね。 JavaプログラマーでOracleが提供しているAPIリファレンスを見ずに作る人はいないはずです。 Javaに限らずどんな言語でも同じです。リファレンス見ずに作ろうとするのは合理的じゃないです。
guest

0

JComboBoxはコンストラクターで表示対象の一覧を設定できますが、後からでも設定しなおせます。

https://docs.oracle.com/javase/jp/8/docs/api/

このあたりみるとわかりますが、「項目を全部削除」「特定の位置へ挿入」「追加」などなど後からでも内容を変更できますのでこうしたリファレンスをよく研究してみてください。

後から設定すると「元選択されていたアイテムの選択状態をどう扱うか」などなど考慮すべきことは増えますので「やってみると見つかる問題」にいくつか遭遇するとは思います。当然ですがどういうUI仕様にするかでどう実装するべきかの方針も変わりますのでまずは取り組んでみることをお奨めします。

投稿2018/05/26 12:15

KSwordOfHaste

総合スコア18394

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問