我最近开始尝试使用Swing和AWT,并且正在阅读Tony Gaddis的“Java开始”一书。我正在尝试生成一个窗口,其中以公里为单位的值转换为里程。我正在使用NetBeans IDE。随着IDE的发展,当您键入代码时,它们会抛出可能的错误。所以我遇到了这个错误,并没有超越它。
import javax.swing.*;
public class KilometerConvertor extends JFrame
{
private JPanel panel;
private JLabel messagelabel;
private JTextField kilotextfield;
private JButton calcbutton;
public KilometerConvertor(int L,int H)
{
setTitle("Kilometre to Miles Converter");
setSize(L,H);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
buildPanel();
add(panel);
setVisible(true);
}
}
这个灯泡旁边有一个带有红色符号的buildPanel();.我在网站上经历了很多现有的线程,其中最常见的错误是拼写错误。所以我也检查了我的代码是否存在此类错误。
答案 0 :(得分:3)
你还没有理解它就复制了很多。方法setTitle(String)
,setSize(int, int)
,setDefaultCloseOperation(int)
,add(Component)
,setVisible(Boolean)
都在您要扩展的JFrame
类中定义。
buildPanel()
方法可能只是您正在阅读的书中的占位符。您必须将此方法添加到您的班级,例如
private void buildPanel() {
this.panel = new JPanel(new GridLayout(0, 3));
this.messageLabel = new JLabel("Input: ");
this.kilotextfield = new JTextField();
this.calcbutton = new JButton("Calculate");
this.panel.add(this.messageLabel);
this.panel.add(this.kilotextfield);
this.panel.add(this.calcButton);
}