java - eclipse中的Swing无法访问类sun.java2d.loops

标签 java eclipse swing intellij-idea

我正在使用 IntelliJ 一切正常,但是当我将项目发送给我的 friend (他使用 Eclipse)时,他无法运行它 Secreenshoot of the error

这是 JPanelImage 类 我认为(drawComponent)的重新定义是问题所在

  protected void paintComponent(Graphics g) {
    super.paintComponent(g);
    try {
        BufferedImage bImage = ImageIO.read(new File( image));
        BufferedImage jImage ;
        g.drawImage(bImage, 2, 2, (int) getSize().getWidth(), (int) getSize().getHeight(), this);
       for(int k=0;k<joueurs.size();k++) {
            jImage= ImageIO.read(new File(Graphiques.Pions[joueurs.get(k).getId()]));
            System.out.println("Affichage des joueurs X:"+32*(int)(k%2) +" Y:"+ (getSize().getHeight()/2-40*(k/2)));
            g.drawImage(jImage,32*(k%2), (int) getSize().getHeight()/2-40*(int)(k/2),28,40, this);

        }
        if(artefact!=null){
            jImage= ImageIO.read(new File("./res/images/tresors/"+artefact.getElementArtefact()+".png"));
            g.drawImage(jImage,60, 8,28,40, this);
        }

        if(zone!=null){

           switch (zone.getTypeSelection()){
               case 0:
                   setBorder(Graphiques.INACTIVE_BORDER);
                break;
               case 1:
                   setBorder(Graphiques.ACTIVE_BORDER_SELECTED);
                   break;
               case 2:
                   setBorder(Graphiques.ACTIVE_BORDER_SHORE_HOVER);
                   break;
           }
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}

最佳答案

Java 9 和 Java 10 中,默认情况下无法访问 sun.*(无公共(public) API:使用风险自负)。

要使其可访问,您必须在 Eclipse 中执行以下操作:

  1. 在菜单中选择项目 > 属性
  2. Java 构建路径中,在选项卡中选择模块路径> JRE 系统库 [JavaSE-9] > 是模块化 节点并单击编辑...
  3. 详细信息标签中的已添加导出部分中,点击添加。 ..
  4. 输入以下内容:
    • 源模块:java.desktop
    • 包:sun.java2d.loops

enter image description here

关于java - eclipse中的Swing无法访问类sun.java2d.loops,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50262824/

相关文章:

java - 使用 SimpleAdapter 将获取的图像加载到 listView

java - JTextPane (Swing) 中的多色文本选择

java - 序列化-为什么readObject不能读取整个文件?

java - 与自定义字体相关的 Eclipse LogCat 错误

java - 在 Java Eclipse WindowBuilder 中的 2 个 JCheckBox 对象之间画一条线

c++ - eclipse c++ 中的 "control reaches end of non-void function"警告但没有编译或运行时错误

java - 使用 SwingWorker 从 map 中检索数据

Java无法将JPanel内的JTextField作为JScrollPane中的视口(viewport)来关注

java - org.openqa.selenium.json.JsonOutput.write(Ljava/lang/Object;)Lorg/openqa/selenium/json/JsonOutput;由于 java.io.IOException : Incomplete document

java - 使用线程运行两个函数