Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.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
Javax.swing和Java.awt冲突_Java_Swing_Awt - Fatal编程技术网

Javax.swing和Java.awt冲突

Javax.swing和Java.awt冲突,java,swing,awt,Java,Swing,Awt,我对所有涉及gui的代码都有问题。 例如,公共类Ritpanel扩展Jpanel行给出了一个错误: “javax.swing.JComponent”中的getBaselineResizeBehavior()与 “java.awt.Component”中的“getBaselineResizeBehavior()”;试图 使用不兼容的返回类型` 他最快的解决办法是实施一种什么都不做的方法。我还尝试重新安装IntelliJ。有人知道怎么了吗 import javax.swing.*; import j

我对所有涉及gui的代码都有问题。 例如,
公共类Ritpanel扩展Jpanel
行给出了一个错误:

“javax.swing.JComponent”中的getBaselineResizeBehavior()与 “java.awt.Component”中的“getBaselineResizeBehavior()”;试图 使用不兼容的返回类型`

他最快的解决办法是实施一种什么都不做的方法。我还尝试重新安装IntelliJ。有人知道怎么了吗

import javax.swing.*; import java.awt.*;

public class Ritpanel extends JPanel{

    @Override
    public void paintComponent(Graphics grafik) {
        super.paintComponent(grafik);
        grafik.setColor(Color.BLUE);
        grafik.fillRect(0,0,500,500);
        grafik.setColor(Color.YELLOW);
        grafik.fillRect(200,0,60,500);
        grafik.fillRect(0,200,500,60);

        String text = "SVERIGE!!!!";
        grafik.setColor(Color.BLACK);
        Font font = new Font("Times new Roman",Font.PLAIN,36);
        grafik.setFont(font);
        int bredd = grafik.getFontMetrics().stringWidth(text);
        grafik.drawString(text,500/2 - bredd/2,470/2 + 24/2);
    }
}

只导入你需要的东西怎么样

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;

import javax.swing.JPanel;

此外,有时荧光灯会突出显示不存在的错误或警告。尝试清理项目并重建它。

因此问题似乎是我的swing中的一个bug。我的解决方案是删除所有设置和插件。然后我完全重新安装了IntelliJ。这解决了我的问题,我不再出现此错误。

使用IntelliJ分别导入每个方法。您可以导入所需的类。在本例中,
import javax.swing.JFrame;导入javax.swing.JPanel而不是导入javax.swing.
仍然不起作用。突出显示的代码仍然标记为红色,并给出相同的错误消息。忘了提到我可以毫无问题地运行程序。错误消息让我很恼火,它可能会影响我的成绩。仅仅添加所需的导入不起作用,而且不仅是这个项目,它还适用于使用swing ant set的所有项目和类。然而,我做了一些挖掘,问题似乎出在swing的JComponent类中。getBaseLineResizeBehavior方法给我两条错误消息。第一:不兼容的类型。找到:“java.set.Component.BaselineResizeBehavior”,必需:“java.awt.Component.BaselineResizeBehaviour”。第二:无法访问java.awt.Component.BaselineResizeBehaviour。@pontuswesterfors仅供参考,当我将您的代码复制粘贴到安装了JDK 15的Eclipse 2020-12中时,不会收到任何警告或错误。