【问题标题】:How to add checkboxes in list in java如何在java中的列表中添加复选框
【发布时间】:2023-04-10 16:25:01
【问题描述】:

大家好,我正在尝试将复选框添加到 JList 中,但由于某些原因,它给了我IllegalArgumentException。如果有人知道如何在 JList 中添加复选框,请告诉我。提前谢谢你

    JCheckBox []data={
    new JCheckBox("C"),
    new JCheckBox("C++"),
    new JCheckBox("Java"),
    new JCheckBox("C sharp")};
    JList l=new JList(data);
    JScrollPane sp=new  JScrollPane(l,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED,ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);

【问题讨论】:

  • 你在哪里得到错误?

标签: java swing checkbox jscrollpane jlist


【解决方案1】:

这是完整的异常消息:

IllegalArgumentException: invalid verticalScrollBarPolicy

在实例化JScrollPane 时引起。 JScrollPane 策略是错误的:

JScrollPane sp = new JScrollPane(l,
        ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
        ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);

【讨论】:

    【解决方案2】:

    问题出在constructorJScrollPane 中。第二个参数应该是垂直滚动条策略,而不是水平:

    public JScrollPane(Component view, int vsbPolicy, int hsbPolicy)
    

    【讨论】:

      【解决方案3】:

      发生非法ArgumentExceptions 是因为您将水平滚动条策略与垂直滚动条策略切换。

      但是使用此代码,您将不会获得复选框列表,只会获得对象的文本表示。

      看看这个question

      【讨论】:

      • 是的,它解决了问题,但没有显示任何复选框,它在 JList 中显示对象
      猜你喜欢
      • 1970-01-01
      • 2011-05-12
      • 2014-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-20
      • 2013-03-10
      • 1970-01-01
      相关资源
      最近更新 更多