如何修复“无法解析方法setText(java.lang.String)”错误?

时间:2019-08-09 15:01:22

标签: java intellij-idea jframe jlabel settext

我是Java和编码的初学者。我不知道是否出现此问题,因为我忘记了代码中的某些内容或代码中不正确的内容。

我已经尝试遍历Stack Overflow上与我的问题类似的所有问题,但没有一个问题对我有帮助。我一直在尝试和尝试,但仍然无法解决。

import javax.swing.JFrame;
import javax.swing.JLabel;

public class JLabel {

    public static void main(String args[]) {
        JFrame myFrame = new JFrame();
        String myTitle = "Blank Frame";
        JLabel label1 = new JLabel("Test");
     `````
        label1.setText("Test Text");
     `````
        myFrame.setTitle(myTitle);
        myFrame.setTitle(900,600);
        myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        myFrame.setVisible(true);
    }
}

问题出在'label1.setText(“ Test Text”);'。我的代码目标是创建一个包含一些文本的窗口。希望该修补程序简单,而不像许多代码那么复杂。

3 个答案:

答案 0 :(得分:1)

您需要重命名您的班级,因为这是您正在使用的现有班级。现在,创建一个java.swing对象将创建该对象的实例,而不是等效的myFrame.add(label1);

您没有在框架上添加标签。

setTitle()

当我相信您要致电setSize()时,您还会致电public static void main(String[] args) { JFrame myFrame = new JFrame(); String myTitle = "Blank Frame"; JLabel label1 = new JLabel("Test"); label1.setText("Test Text"); myFrame.add(label1); myFrame.setTitle(myTitle); myFrame.setSize(900,600); myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); myFrame.setVisible(true); }

此代码对我有用:

{{1}}

答案 1 :(得分:0)

删除`````事情就好了... 还是这些只是示例?

答案 2 :(得分:0)

此消息告诉您方法setText没有在您定义的类JLabel中定义,这与JLabel包中的Swing类不等效。 例如,将您自己定义的类JLabel重命名为JLabelTest。 另外,删除此行myFrame.setTitle(900,600);setTitle的定义不允许这些参数,并用myFrame.setSize(900,600);代替 您的完整代码应为:

import javax.swing.JFrame;
import javax.swing.JLabel;

public class JLabelTest {

    public static void main(String args[]) {
        JFrame myFrame = new JFrame();
        String myTitle = "Blank Frame";
        JLabel label1 = new JLabel("Test");

        label1.setText("Test Text");

        myFrame.setTitle(myTitle);
        myFrame.setSize(900,600);
        myFrame.getContentPane().add(label1); // to display the label
        myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        myFrame.setVisible(true);
    }
}

只是个人建议;尝试仔细阅读您的教程,并逐步了解Swing的工作原理。

希望这会对您有所帮助。