源代码 1.6 不支持 Java Combo Box Diamond Operator

标签 java jcombobox

背景

我开发了一个处理数据库中数据的程序。然而,这不是我遇到的问题,所以我会直奔主题。

我在 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

最佳答案

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/

相关文章:

java - 在 Packages exec 期间不允许进行 DML 操作

java - 应用程序可在模拟器(和通过 USB 的设备)上运行,但从 Google Play 商店下载时不可用?

c# - Java 和 C# 的终结器

java - 从其他类获取 JComponent 会改变帧大小

java - 通过 JComboBox 中的选定项目从数组列表中删除对象

java - 以编程方式设置按钮单击时的 View 宽度

java - fragment 在 Android 上无法正确显示

java - 在 JComboBox 弹出窗口上滚动将其隐藏

java - 组合框箭头按钮根据 nimbus LaF 中的字体大小进行拉伸(stretch)

java - 如何检查是否未选择 jcombobox 选择?