繁体   English   中英

源1.6不支持Java Combo Box Diamond运算符

[英]Java Combo Box Diamond Operator not supported in source 1.6

背景

我开发了一个程序来处理数据库中的数据。 但是,那不是我的问题,所以我将直接指出。

我在JFrame上创建了一个名为“输出重新格式化的数据文件”的组合框。 组合框应允许用户选择特定的月份,以便该程序对在2016年2月创建的文件进行过滤搜索。

问题

选项当然是一年中的几个月。 我的问题是initComponents()方法中的代码,该组合框的下划线为“红色错误”!

该错误显示:“源1.6不支持钻石运算符,请使用源1.7或更高版本”。

我不明白的

我认为源1.6对应于您拥有的JDK。 因此,可以肯定的是,只有JDK 1.6才有源1.6。 但是拥有JDK 1.8和Netbeans 8.0.2,那么Netbeans为何说我使用源代码1.6?

我真的很感谢任何向我解释这个问题的人,因为我已经有近两个月的时间了。 同时,我也会做更多自己的研究。

初始化组件

jLabel4.setFont(new java.awt.Font("Tahoma", 1, 13)); // NOI18N
    jLabel4.setText("Month");
    jLabel4.setToolTipText("");

    Month_ComboBox.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }));
    Month_ComboBox.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            Month_ComboBoxActionPerformed(evt);
        }
    });

组合框定制代码

我认为源1.6对应于您拥有的JDK。 因此,可以肯定的是,只有JDK 1.6才有源1.6。 但是拥有JDK 1.8和Netbeans 8.0.2,那么Netbeans为何说我使用源代码1.6?

嗯,不完全-它对应于您的源代码被编译为的语言版本。 较晚的编译器能够只有较早版本的编译器一样进行编译非常正常的,因此,如果团队中的多个人具有不同的版本,则不会出现一个人将代码检入到另一个人的情况。无法编译。

只需更改项目设置以使用1.8的源兼容性级别即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM