Avatar billede pblv Nybegynder
02. september 2003 - 15:55 Der er 1 kommentar og
1 løsning

Prikker skal dukke op

Hey.

Nogen der kan fortælle mig hvorfor boldene ikke kommer frem når man trykker??

---

import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;
import java.net.*;
import java.io.*;

public class Applet1  extends JApplet
{
  public static Container c;
  public Bold bold = new Bold();
  public Bold bold2 = new Bold();
  private XYLayout xYLayout;

  public Applet1()
  {

  }

  public void init()
  {
    try
    {
      c = getContentPane();
      c.setBackground(new Color(100,100,100));
      c.setLayout(xYLayout);
      c.addMouseListener(new musselytter());
      c.add(bold2, new XYConstraints(50, 50, 20, 20));
    }
    catch (Exception e)
    {
      e.printStackTrace();
    }
  }

  private class musselytter
      extends MouseAdapter
  {
    public void mouseClicked(MouseEvent e)
    {
      bold = new Bold();
      c.add(bold, new XYConstraints(e.getX() - 10, e.getY() - 10, 20, 20));
    }
  }


  public class Punkt extends Thread
  {
    private Bold bold;
    public Punkt(Bold _bold)
    {
      bold = _bold;
    }

    public void run()
    {
      c.validate();
      bold.setVisible(true);
      try
      {
        bold.setOpaque(false);
        for (int i = 20; i > 0; i--)
        {
          bold.setX(i);
          repaint();
          this.sleep(100);
        }
      }
      catch (Exception e)
      {
      }
      bold.setVisible(false);
      c.remove(bold);
    }
  }

  public class Bold
      extends JPanel
  {
    private int x;
    public Bold()
    {
    }

    public void setX(int _x)
    {
      x = _x;
    }

    public void paintComponent(Graphics g)
    {
      super.paintComponents(g);
      g.setColor(Color.BLACK);
      g.fillOval( (20 - x) / 2, (20 - x) / 2, x, x);
      g.setColor(Color.WHITE);
      g.fillOval( (20 - x) / 2 + 1, (20 - x) / 2 + 1, x - 2, x - 2);
    }
  }
}
Avatar billede simonvalter Praktikant
02. september 2003 - 20:24 #1
nu kan jeg ikke helt gennemskue hvad det precis er du vil
men der kan være flere årsager.

public class Punkt  bliver slet ikke brugt.

i din mouse listener skal du
c.validate();
eftet du har tilføjet en ny bold

dit layout skal laves sådan her
c.setLayout(new XYLayout());

prøv selv at lave en test på det layout du har lavet .. det vil retunere null.
Avatar billede pblv Nybegynder
03. september 2003 - 08:29 #2
takker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester