首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >“-source 7不支持lambda表达式,请使用-source 8启用lambda表达式”

“-source 7不支持lambda表达式,请使用-source 8启用lambda表达式”
EN

Stack Overflow用户
提问于 2021-09-01 06:54:21
回答 2查看 224关注 0票数 2

所以我用java编程已经有一段时间了,我开始做游戏,因为我对它没有超级经验,所以我决定做一个简单的2D游戏。它一直运行得很好,直到我遇到了一个问题:(还不能嵌入图片,但基本上它就像我的标题中说的那样。

这是我在收到错误的应用程序中使用的代码:

代码语言:javascript
运行
复制
import java.awt.EventQueue;
import javax.swing.JFrame;

public class Application extends JFrame {
    
    public Application() {
        
        initUI();
    }
    
    private void initUI() {
        
        add(new Board());
        
        setSize(250, 200);
        
        setTitle("Application");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
    }
    
    public static void main(String[] args) {
        EventQueue.invokeLater(() -> {
            Application ex = new Application();
            ex.setVisible(true);
        });
    }
}

有谁知道我为什么会出现这个错误,以及如何修复它?

EN

回答 2

Stack Overflow用户

发布于 2021-09-01 08:00:19

在IDEA文件中->项目结构

选择JDK 8+

选择语言级别至少为8。

(当然,如果您没有支持Java 8的JDK,则需要下载新的JDK)

如果您使用的是maven或gradle,则需要在pom.xml中进行更改(请参见下文)并从pom.xml更新项目设置

代码语言:javascript
运行
复制
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <!-- Your dependencies -->
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                    <encoding>${project.build.sourceEncoding}</encoding>
                </configuration>
            </plugin>

有关gradle的信息,请参阅文档,因为它经常随着gradle的新版本https://docs.gradle.org/current/userguide/building_java_projects.html而变化。

票数 1
EN

Stack Overflow用户

发布于 2021-09-01 08:48:53

您可以像这样重写lambda表达式:

代码语言:javascript
运行
复制
public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
        @Override
        public void run() {
            Application ex = new Application();
            ex.setVisible(true);
        }
    });
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69009055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档