在组合框中除以4

时间:2014-12-08 19:55:01

标签: java jcombobox

我是一名新程序员,为我项目的一部分做出生日期选择器。除了一些事情,我已经完成了所有设置,我不确定如何做这些事情。

ArrayList<String> years_tmp = new ArrayList<String>();
        years_tmp.add("Year");
        for(int years = Calendar.getInstance().get(Calendar.YEAR) ; years>=Calendar.getInstance().get(Calendar.YEAR)-90;years--)
        {
            years_tmp.add(years+"");
        }


        Y = new JComboBox(years_tmp.toArray());

上面是我的JComboBox代码的一部分,它列出了过去90年,并且有&#34;年&#34;作为第一个对象。

对于我上面的代码,我如何列出当前的年份,但只显示除以4(闰年)的年份?

另外,如何在打开JComboBox列表后才能这样做,因此无法选择选择年份,因此当值保存在我的保存文件中时,它不允许保存单词&#34;年&#34 ;

1 个答案:

答案 0 :(得分:0)

要获得一个可以分为4而无需休息的值,您可以使用模运算符&#39;%&#39;:

if(year % 4 == 0) {
    ...
}

禁止选择&#34;年&#34;本身,你有几种方法。可以将ItemListener附加到您的ComboBox,并检查用户是否选择了&#34;年&#34;值。如果用户选择了此值,您可以打印错误消息或只选择其他值 - 也许是下一个可能的值。如果用户选择了无效值,您还可以执行更多花哨的操作,例如禁用保存按钮。

我认为这可以帮助你找到正确的方向。