2014-11-05 48 views
-3

有人可以告诉我为什么这不运行?我已经从我的介绍中直接复制了java书。在运行它时应该返回一个显示六位数字的窗口。从java书直接复制的代码不想运行

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

public class TestFigurePanel extends JFrame { 
    public TestFigurePanel() { 
    setLayout(new GridLayout(2, 3, 5, 5)); 
    add(new FigurePanel(FigurePanel.LINE)); 
    add(new FigurePanel(FigurePanel.RECTANGLE)); 
    add(new FigurePanel(FigurePanel.ROUND_RECTANGLE)); 
    add(new FigurePanel(FigurePanel.OVAL)); 
    add(new FigurePanel(FigurePanel.RECTANGLE, true)); 
    add(new FigurePanel(FigurePanel.ROUND_RECTANGLE, true)); 
    } 

    public static void main(String[] args) { 
    TestFigurePanel frame = new TestFigurePanel(); 
    frame.setSize(400, 200); 
    frame.setTitle("TestFigurePanel"); 
    frame.setLocationRelativeTo(null); // Center the frame 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.setVisible(true); 
    } 
} 
+1

,特别是? – 2014-11-05 18:21:14

+0

异常在线程“主要” java.lang.Error的:未解决编译问题: \t在类型容器的制造方法中添加(成分)是不适用 \t FigurePanel不能解析为一个类型 \t FigurePanel参数(FigurePanel)无法解析为变量 – 2014-11-05 18:21:49

+0

那么,什么*是一个'图形面板'?快速搜索表明它来自纽约市的一些简介编程课程。 – Makoto 2014-11-05 18:22:46

回答

4

你复制的代码依赖于其他代码—具体地说,FigurePanel代码。在编译和运行您发布的代码之前,您需要找到该代码并在其中包含其他代码(以及依赖它的任何代码)。

+0

我不得不翻几页找到剩余的代码。一直坐在这里挠我的头。谢谢! – 2014-11-05 18:31:14

+0

@AndréHatlo-Johansen - 嗯,我不能帮你的书,但也许[这个线程](http://stackoverflow.com/questions/10120641/cant-get-netbeans-to-access-figurepanel-in -java)可能会有所帮助。从我刚才做的一个快速网络搜索来看,似乎''FigurePanel'是Java编程课程中使用的一个非常流行的Java类。 – 2014-11-05 18:35:17

+0

这实际上只是我需要的代码。再次感谢 – 2014-11-05 18:38:35

1

变化

public class TestFigurePanel1 extends JFrame { 
    public TestFigurePane1l() { 
    ... 

由您有什么问题

public class TestFigurePanel extends JFrame { 
     public TestFigurePanel() { 
     ....