背景
我开发了一个处理数据库中数据的程序。然而,这不是我遇到的问题,所以我会直奔主题。
我在 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);
}
});
最佳答案
I assume that source 1.6 corresponds to the JDK that you have. So surely you only have source 1.6 if you have JDK 1.6. But have JDK 1.8 and Netbeans 8.0.2, so how come Netbeans says I use source 1.6?
嗯,不完全是 - 它对应于源代码编译的语言版本。对于后来的编译器来说,能够编译就像您只有早期版本的编译器一样是很正常的,因此,如果团队中的多个人拥有不同的版本,您就不会遇到这样的情况:一个人 checkin 了另一个人无法编译的代码。
只需更改项目设置以使用源兼容性级别 1.8。
关于源代码 1.6 不支持 Java Combo Box Diamond Operator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35687901/