1

Swing GUIにjComboBoxがあり、SQLデータベースから値を入力しています。

すべて正常に見えますが、アプリケーションを実行すると、コンボボックスが表示されました。たとえば、[黒...]の横に3つのドットがあります。

3つのドットを削除する方法を教えてください。

編集:jComboBoxのコードとその画像を追加しました

    public void fillTankDepth()
{

    String fill = "Select * from swdepth";
    try{
        ps = conn.prepareStatement(fill);
        rs = ps.executeQuery();

        while(rs.next()){
            String depth = rs.getString("depth");
            comboDepth.addItem(depth);

                        }
    }
    catch(Exception e){
    JOptionPane.showMessageDialog(null, e);    
    }
 }

ここに画像の説明を入力してください

上の画像のように、かなり長い幅を付けましたが、3つのドットを削除できません。

4

1 に答える 1

4

GUIにデータを表示するのに十分な物理的なスペースがない可能性があります。コンボボックス用の水平方向のスペースを増やします(つまり、長くします)。

アップデート

上の画像のように、かなり長い幅を付けましたが、3つのドットを削除できません。

追加したスクリーンショットを見ると、データの問題だと思います。一部のjdbcドライバーは、データがはるかに短い場合でも、列の長さまでスペースが埋め込まれた文字列を提供します。たとえば、値「A」を含むchar(10)として定義された列は、クエリから次のように返される場合があります。

「A」
。この場合は、コンボに追加する前に文字列をトリミングしてください。

String depth = rs.getString("depth").trim();

また、mKorbelが提案しているように、コンボのプロトタイプを設定できます。

// if you're using strings, and the max length will be 10
comboDepth.setPrototypeDisplayValue("1234567890");

スペースによってデータが予想よりも長くなる場合は、(スクリーンショットが示すように)パディングされたスペースが依然として問題になることに注意してください。

于 2013-01-08T21:16:05.750 に答える