Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
eclipse中的Swing可以';t访问类sun.java2d.loops_Java_Eclipse_Swing_Intellij Idea - Fatal编程技术网

eclipse中的Swing可以';t访问类sun.java2d.loops

eclipse中的Swing可以';t访问类sun.java2d.loops,java,eclipse,swing,intellij-idea,Java,Eclipse,Swing,Intellij Idea,我使用IntelliJ,一切正常,但当我将项目发送给我的朋友(他使用Eclipse)时,他无法运行它 这是JPanelImage的课程 我认为(drawComponent)的重新定义是问题所在 protected void paintComponent(Graphics g) { super.paintComponent(g); try { BufferedImage bImage = ImageIO.read(new File( image));

我使用IntelliJ,一切正常,但当我将项目发送给我的朋友(他使用Eclipse)时,他无法运行它

这是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();
    }
}
受保护的组件(图形g){
超级组件(g);
试一试{
BufferedImage bImage=ImageIO.read(新文件(图像));
缓冲图像jImage;
g、 drawImage(bImage,2,2,(int)getSize().getWidth(),(int)getSize().getHeight(),this);

对于(intk=0;k在Java 9和Java 10中,
sun.
包在默认情况下不可访问(无公共API:使用风险自负)

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

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

  • I他的Java版本与您的相同?1)为了更快地获得更好的帮助,请发布or.2),但不要尝试在paint方法中加载资源。在构造函数或初始化方法中加载图像一次,并将其存储为类的属性。当然,在Java 9
    sun中。*
    默认情况下是不可访问的。他应该安装什么版本?他可以使用Java 8。如果他使用Java 9和10,则可以使用Java 8必须进行配置以使
    sun.java2d.loops
    可访问,并且在命令行上需要额外的参数。您想要并回答如何在Eclipse中为此配置项目吗?