设置字体/颜色时找不到符号(点)错误

时间:2015-08-29 19:45:47

标签: java

我正在使用一本书来学习一些Java,我正处于开始程序之一并将代码复制下来,但不知怎的,我得到一个奇怪的错误,根本无法在线找到错误或解决方案

守则:

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

public class GrussMitProgrammfenster extends JFrame {
    public GrussMitProgrammfenster() {
    super("Hallo");

    Icon icon = new ImageIcon("test.png");
    JLabel label1 = new JLabel("Viel Erfolg beim", JLabel.CENTER);
    JLabel label2 = new JLabel("Programmieren mit Java!", JLabel.CENTER);
    JLabel label3 = new JLabel(icon);
    Font schrift = new Font("SansSerif", Font.BOLD, 24);
    label1.SetFont(schrift);
    label1.SetForeground(Color.RED);
    label2.SetFont(schrift);
    label2.SetForeground(Color.RED);
    Container c = getContentPane();
    c.setLayout(new FlowLayout());
    c.SetBackground(Color.WHITE);
    c.add(label1);
    c.add(label2);
    c.add(label3);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    setSize(300,250);
    setVisible(true);
}


 public static void main(String[] args){
 new GrussMitProgrammfenster();
 }
}

我得到的错误是:

GrussMitProgrammfenster.java:15: error: cannot find symbol
    label1.SetFont(schrift);
          ^
    symbol:   method SetFont(Font)
  location: variable label1 of type JLabel
    GrussMitProgrammfenster.java:16: error: cannot find symbol
    label1.SetForeground(Color.RED);
          ^
  symbol:   method SetForeground(Color)
  location: variable label1 of type JLabel
    GrussMitProgrammfenster.java:17: error: cannot find symbol
    label2.SetFont(schrift);
          ^
  symbol:   method SetFont(Font)
  location: variable label2 of type JLabel
GrussMitProgrammfenster.java:18: error: cannot find symbol
    label2.SetForeground(Color.RED);
          ^
  symbol:   method SetForeground(Color)
  location: variable label2 of type JLabel
GrussMitProgrammfenster.java:21: error: cannot find symbol
    c.SetBackground(Color.WHITE);
     ^
  symbol:   method SetBackground(Color)
  location: variable c of type Container
5 errors
[Finished in 3.2s with exit code 1]

感谢您的帮助!!

5 个答案:

答案 0 :(得分:1)

label1.setFont不是label1.SetFont

答案 1 :(得分:0)

它找不到方法SetBackground(),因为它不存在,但setBackground()可能确实存在(请记住Java区分大小写!)。编译器或解析器的输出确实有点奇怪,因为它将方法视为"符号"。

答案 2 :(得分:0)

不要忘记camelcase! :) 方法名称中的第一个字母绝不是大写字母,之后每个开始出租的新单词都是大写字母。 例如:

setBackground();

charAt();

答案 3 :(得分:0)

按照惯例,方法名称以小写字母开头。

SetFont()中没有名为SetForegroundJLabel的方法。

JLabel包含setFont()setForeground

所以使用:

label1.setFont ();

label1.setForeground ()

label2.setFont ();

label2.setForeground ()

答案 4 :(得分:0)

每个预定义方法的第一个单词的第一个字母始终为小写,之后的每个其他单词的第一个字母为大写。 因此它应该是

x

label1.setFont()