問題タブ [comboboxmodel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
1678 参照

java - jComboBoxがkeyListenerに反応せず、actionPerformが奇妙な処理を実行します

UserNameを検索して、jComboBoxに値を返そうとしています。コードは次のとおりです。

別の場所をクリックするか、Enterキーを押すと、検索が実行されますが、最初のアイテムが再度検索されるため、非常に混乱します...次に、キーを押してみました

そして、これはまったく反応しません。

0 投票する
1 に答える
210 参照

java - ComboBoxModelをデバッグする方法に関する提案

私のプロジェクトでは、カスタムモデルを備えたいくつかのJComboBoxがあります。基本的に、これらはいくつかのJTables列の値を表示するために使用されます(したがって、AbstractTableModelを拡張する相対クラスに実装することにしました)。

そして、私はいくつかのモデルを持っています:MyTableModel2とMyTableComboBoxModel2。これらのモデルはすべて、コンボボックスにもテーブル自体にも関連しないいくつかの追加操作を除いて、ほとんど同じことを行います。

これらすべての目的は、相対的なJTableに発生した変更に応じて、JComboBoxの表示値を更新することです。

1つのケースを除いて、実装したモデルではすべて正常に動作し、数時間のデバッグ後も解決できません。バグのあるモデルのコードは他のモデルとほとんど同じです。おそらくそれは私のコードのどこかにあるバグですが、どこにあるのかわかりません。

間違ったケースでは、次の動作が発生します。最初にいくつかの値を含むテーブルを作成したとき、これらはJComboBoxでも正しく表示されますが、新しい行を追加すると、表示される値はすべて空白になります(表示される空白のメニューのサイズは正しいです) 。私はそれを見出した:

  1. jtableの新しい行が正しく追加されます。
  2. getElementAtメソッドは、JComboBoxをクリックすると数回呼び出され、使用可能なすべての値(新しい値を含む)を返します。
  3. JComboBoxをクリックして正しい更新値を返すと、getSize()メソッドが呼び出されます。
  4. JComboBoxにフォーカスがある場合は、矢印を使用して使用可能なアイテムを選択でき、すべてのアイテム(追加されたアイテムも含む)を選択できます。
  5. 表示された空白のメニューでランダムに1点をクリックしてマウスを使用すると、最後に使用可能なすべてのエントリを選択できます。

誰かアイデアはありますか?このような状況でどのようにデバッグできるかを教えてください。残念ながら、SSCCEを投稿することはできません。とにかく誰かが助けてくれることを願っています。

0 投票する
6 に答える
13836 参照

java - 別のコンボボックスアイテムの選択を変更した後、コンボボックスのデータを変更するにはどうすればよいですか?

3つのコンボボックスを含むフォームを持つJavaで記述されたMVCアプリケーションがあります。年/月/日と年と月の選択が変更された場合は日数を変更したい。ビューアでは、コンボボックスを定義するだけです

私のコントローラーには:

他のイベントを発生させた後、どうすれば別のコンポーネントを変更できますか?

0 投票する
5 に答える
8340 参照

java - Java Swing Combobox removeAllItems も ItemStateChanged を呼び出していますか?

私のコードは実際には非常に単純です。シンプルで類似したコードがこの記事からのものであることがわかりました。

最初は、1つのコンボボックスがありますitemStateChanged()というリスナーがあります。このリスナーに追加する私の目的は次のとおりです。「ユーザーがドロップボックスからアイテムをクリック(選択)したときにコードを実行する」.

コードの背後で、いくつかのデータを取得してから、 removeAllItems() のメソッドを呼び出します。そして、(新しいデータから) 新しいモデルをそれに設定します。

removeAllItem()メソッドを実行すると、itemStateChanged() が呼び出されることに気づきました。一度呼ばれた。

では、ユーザーがクリック (選択) したときにのみ呼び出され、removeAllItems() が呼び出されたときに呼び出されないようにする方法は?

この記事に似ています。しかし、removingItems ケースではありません。CMIIW。

0 投票する
3 に答える
6968 参照

java - setSelectedItem()が呼び出されたときにアクションリスナーが起動しないようにする方法はありますか?

複数のコンボボックスを備えたプログラムがあり、それぞれに独自のアクションリスナーがあります。コンボボックスのいずれかからアイテムを選択すると、他の1つ以上のコンボボックスのアイテムが変更されます。私が遭遇している問題は、あるコンボボックスに対してsetSelectedItem()を呼び出すと、別のコンボボックスに対してアクションリスナーが起動され、次に他のコンボボックスのアクションリスナーなどが起動されることです。

アクションリスナーをユーザー入力からのみ起動できるようにするか、アクションがユーザー入力から起動されなかったことを検出することで、これを回避する方法はありますか?プログラムが各comboxboxに対して現在選択されているアイテムを設定できるようにしたいので、setSelectedItem()を使用しないことはオプションではないと言います。助けてくれてありがとう。

0 投票する
2 に答える
7489 参照

java - JComboBox アイテム リスナー

私は2つのコンボボックスを持っています。最初の演算子にはいくつかの演算子 (+ 、 - 、* 、/) が含まれ、2 番目の演算子には 0 から 10 までの値が含まれます。ユーザーが最初のコンボ ボックスで (/) を選択すると、2 番目のコンボ ボックスに 2 から 10 の値を表示する代わりに0 から 10 の

私はこれを試しました:

私の問題は、("/") numberCombo を選択すると正常に動作し、2 から 10 の数字が表示されますが、別の演算子をクリックすると、0 から 10 ではなく 2 から 10 の数字が表示されることです。これを解決するにはどうすればよいですか?問題?!ありがとう

0 投票する
1 に答える
980 参照

java - 複数のパネルで複数のコンボボックスを更新するSwingWorker

起動時にExcelファイルからデータを読み取る小さなGUIプログラムがあり、これらのデータの一部は関連するコンボボックスに移動する必要があります。コンボボックスごとに個別の SwingWorker を使用してこれを行う方法を知っています。

これは問題なく動作しますが、1 つの SwingWorker クラスを使用して複数のコンボボックスを埋めるにはどうすればよいでしょうか? これには、ファイルを一度だけ読み取るという利点があります。コンボボックスに移動する必要があるものが見つかると、関連するコンボボックスが更新され、プログラムはファイルの最後まで次の行を読み続けます。

そのため、1 つの JPanel で 2 つのコンボボックスを更新したい場合にブール値フラグを使用しようとしましたが、期待どおりに動作しないようです。将来、複数のパネルで 2 つ以上のコンボボックスを更新する予定であるため、これも良い解決策ではありません。

では、1 つの SwingWorker だけを使用して、多くのコンボボックス (異なるパネルに含まれる可能性がある) を埋めるにはどうすればよいでしょうか?

ところで、上記の例では、パネルの 1 つ (JPanel を拡張するクラス) から ExcelReader を呼び出しています。最初のケースでは、ワーカーを呼び出すパネルにはコンボボックスが 1 つしかありませんが、2 つ目の例では 2 つしかありません。

0 投票する
1 に答える
972 参照

java - 変数を使用して新しい JComboBox を宣言する方法

新しい JComboBox を作成する必要がありますが、3 つの異なる操作に同じ JFrame を使用しているため、JComboBox 名をパラメーターとして渡す必要があります。

これは私が今持っているコードです:

私がcomboTipoを印刷すると、「Tienda.telasItems」または「Tienda.accesoriosItems」または「Tienda.aviosItems」を読み取ることができます。このテキストをコンボ ボックスの宣言に使用したいので、意思決定構造を作成する必要はありません。

追加情報が必要な場合はお知らせください。

0 投票する
2 に答える
23404 参照

java - JComboBox 内のすべての項目を印刷するにはどうすればよいですか?

JComboBox 内のすべての項目を印刷する方法を考えています。これを行う方法がわかりません。選択したアイテムを印刷する方法を知っています。ボタンを押すと、JComboBox のすべてのオプションが出力されます。

0 投票する
1 に答える
3162 参照

java - ハッシュマップを反復処理し、swingjcomboboxにアイテムを追加します

私は最初のJavaアプリケーションに取り組んでおり、コンボボックスにハッシュマップのアイテムを入力する必要があるこの部分で立ち往生しています。

Model View Controllerアプローチを使用しており、GUI内からコンボボックスにデータを入力しようとしています。したがって、ユーザーがボタンをクリックすると、コントローラーと通信してコンボボックスのアイテムを要求するメソッドが呼び出されます。コントローラはアイテムをGUIに送り返す必要があり、コンボボックスにデータを入力できます。

そのため、モデルファイルの1つで、ハッシュマップを作成し、コントローラーを介してそれにアイテムを追加します。

ハッシュマップは次のようになります。

Customerクラスの属性に従って、マップにサンプルデータが入力されていると仮定します。

ここで、コントローラーまたはモデル自体のいずれかに、上記のハッシュマップを反復処理してデータ(コレクション?)を返すメソッドを実装する必要があると思います。

私は(別の仮定では、必要ないかもしれませんが)、このデータをもう一度繰り返す必要があります。今回はGUIクラス内でのみ、アイテムを1つずつコンボボックスに追加します。

したがって、プロジェクトは次のようになります。5つのファイル、Controller、Customerregister、Customer、Frame、およびフレームを表示するアプリケーションファイル。

アドバイスありがとうございます。