2

私のコードでは、ユーザーが Production を選択すると利用可能なチャネルが変更されますが、ユーザーが 'Staging' または 'Test' を選択すると、チャネルの完全なリストが表示されます。これが発生すると、[Ljava.lang.String;@1c23f1bb代わりにディスプレイが表示されます。この動作を修正するものは何ですか? 私はJavaの初心者です。

以下は私のコードで、environmentCbx を「Production」以外に設定するとcommunityNameString、コミュニティ コンボボックスに元の文字列配列が表示されません。

String communityNameString[] = {"Connection","CDK","Governors", "Community", "Committee", "Center","All States","Community_2","Sandbox"};


  environmentCbx.addActionListener(new ActionListener(){
  public void actionPerformed(ActionEvent ae) {
      JComboBox environmentCbx = (JComboBox)ae.getSource();
      String environmentName = (String)environmentCbx.getSelectedItem();
      if("Production".equals(environmentName))
      {
          communityCbx.removeAllItems();
          //communityCbx.addItem(productionCommunityNames);
          communityCbx.addItem("Associate");
      }
      else
      {
          communityCbx.removeAllItems();
          communityCbx.addItem(communityNameString);
      }
4

1 に答える 1

4

このに示すように、複数の をComboBoxModel使用でき、必要に応じてそれらを変更できます。完全なリストを含むモデルとサブセットを含むモデルの 2 つのモデルを作成するだけです。

補遺: より詳しく読むと、シンボルはに適用され[Ljava.lang.String;@1c23f1bbたメソッドのアーティファクトです。アイテムは、次のような個人であることが期待されます。インスタンスの配列全体を追加しました。toString()String []ObjectStringString

于 2012-06-03T03:53:01.977 に答える