vik*_*sia 5 java javafx module-info javafx-11
项目名称-JavaFX
模块-info.java
module JavaFX {
requires javafx.fxml;
requires javafx.controls;
requires java.desktop;
opens sample;
Run Code Online (Sandbox Code Playgroud)
}
控制器.java
package sample;
import javafx.fxml.FXML;
import java.awt.Desktop;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
public class Controller {
@FXML
public void handleClick(){
try{
Desktop.getDesktop().browse(new URI("http://www.javafx.com"));
} catch (URISyntaxException | IOException e) {
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我得到错误: 错误:(1, 1) java: 模块 JavaFX 从 java.desktop 和 java.datatransfer 读取包 java.awt
如何解决此问题?
刚刚遇到了同样的问题。根据此 IDEA 支持线程,这可能有点转移注意力的错误消息。看起来模块文件实际上是正确的(即使 intellij 把你带到那里),但问题实际上是因为 IDEA 添加了一个编译器参数,其中包含我们所做的所有 alt-enter(我们都这样做......)。
如果导航到设置 -> 构建、执行、部署 -> 编译器 -> Java 编译器并向底部看,您将看到它已添加和 --exports 从数据传输到模块的 awt,如下图所示:
只需删除它,awt 就只能从桌面读取。
我知道这个问题并不是对正在发生的事情最深入的解释,所以如果有人想详细说明它会非常受欢迎。
| 归档时间: |
|
| 查看次数: |
3840 次 |
| 最近记录: |