背景

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

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


Combo Box Customised Code

最佳答案

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


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

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

07-24 09:33