Java Swing - 带三个点的Combobox

时间:2013-01-08 21:12:07

标签: java swing jcombobox preferredsize

我在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);    
    }
 }

enter image description here

根据上面的图片,我给它提供了相当长的宽度,但是我无法移除3个点。

1 个答案:

答案 0 :(得分:4)

您可能无法在GUI上提供足够的物理空间来显示数据。为你的组合框提供更多的水平空间(即延长它)。

<强>更新

  

根据上面的图片,我给它提供了相当长的宽度,但是我无法移除3个点。

查看您添加的屏幕截图,我的猜测是这是一个数据问题。一些jdbc驱动程序会为空格填充字符串提供列的长度,即使数据更短。例如,定义为char(10)且其中包含值“A”的列可能会从您的查询中返回

"A         "
。如果是这种情况,请在将字符串添加到组合之前修剪字符串:

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

另外,正如mKorbel建议的那样,您可以为您的组合设置原型:

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

请注意,填充空格(如截图所示)如果空格导致数据长于您期望的数据,则仍然会出现问题。