Java piechart小程序的问题

Java piechart小程序的问题,java,applet,japplet,Java,Applet,Japplet,好吧,交易是我正在尝试使用drawPie方法在小程序中创建我的饼图。在尝试谷歌搜索后,我找到了多个教程,解释了搜索过程的一部分,但不是全部。当我试图将部分信息整合在一起时,我并没有得到我想要的结果 import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import javax.swing.JApplet; import javax.swing.JCompo

好吧,交易是我正在尝试使用drawPie方法在小程序中创建我的饼图。在尝试谷歌搜索后,我找到了多个教程,解释了搜索过程的一部分,但不是全部。当我试图将部分信息整合在一起时,我并没有得到我想要的结果

    import java.awt.Color;
    import java.awt.Graphics;
    import java.awt.Graphics2D;

    import javax.swing.JApplet;
    import javax.swing.JComponent;

public class JLW_PieApplet extends JApplet {

class PieData extends JComponent {
    PieValue[] slices = new PieValue[4];

    PieData() {
        slices[0] = new PieValue(35, Color.red);
        slices[1] = new PieValue(33, Color.green);
        slices[2] = new PieValue(20, Color.pink);
        slices[3] = new PieValue(12, Color.blue);

    }

    public void paint(Graphics g) {
        drawPie((Graphics2D)g, getBounds(), slices);
    }
}

}

您的小程序中有一个
PieData
组件,但您从未添加它,因此您需要将其添加到
init
中,并从上面的


Swing中没有称为drawPie的方法。如果没有这个方法的内容,我们不知道如何帮助你

试着通读一下,特别是看一看


我看到的另一个问题是,在绘制方法中没有调用
super.paint(g)
。这是非常非常重要的

您的代码无法编译。你的
drawPie(…)
方法在哪里?他刚刚粘贴了一段从中复制的代码,我想这一点的原因可能是任何事情。“我没有得到我想要的结果。”你得到的结果是什么,它们与你想要的有什么不同?这是一个公平的观点,但考虑到我们缺少这么多代码,这也可能是布局问题,或者drawPie方法本身存在问题,或者他未能调用super.paint(g):p如果提供的代码+链接,则通过添加此方法可以工作。:)毫无疑问,它会“起作用”,但这并不能改变它仍然存在根本性缺陷的事实(问题,而不是答案)。谢谢你,雷默斯。您在最初和修订版中提供的答案都很有帮助。最后我还是做了我自己的一些腿部工作,这也是重点的一部分,但你至少为我指出了正确的方向,但没有抱怨这不是一个理想的教科书问题。他甚至不应该覆盖
paint(…)
,而是
paintComponent(…)
@HovercraftFullOfEels没有任何论据
public class JLW_PieApplet extends JApplet {

   public void init() {
      add(new PieData());
   }

   class PieData extends JComponent {
      PieValue[] slices = new PieValue[4];

      PieData() {
         slices[0] = ...
      }

      @Override
      protected void paintComponent(Graphics g) {
         super.paintComponent(g);
         drawPie((Graphics2D) g, getBounds(), slices);
      }

      public void drawPie(Graphics2D g, Rectangle area, PieValue[] slices) {
      ...