QuadratPanel

Pataraca

Mitglied
Hallo ihr Lieben,

wir sind Java Anfänger und haben grade ein kleines Problem. Wir haben QuadratPanel erstellt, aber können es nicht ausgeben. Könnt ihr uns helfen?

Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class skript extends JPanel implements MouseListener {
    public skript() {
        this.setSize(400, 400);
        this.addMouseListener(this);
    }
    public void paint(Graphics gra) {
        gra.clearRect(0, 0, 400, 400);
        gra.setColor(Color.BLUE);
        gra.fillRect(100, 100, 200, 200);
        gra.drawRect(x, y, width, height);
    }
    public void mouseClicked(MouseEvent arg0) {
        System.exit(0);
    }
    public void mouseEntered(MouseEvent arg0) {
    }
    public void mouseExited(MouseEvent arg0) {
    }
    public void mousePressed(MouseEvent arg0) {
    }
    public void mouseReleased(MouseEvent arg0) {
    }
    public static void main(String[] args) {
        paint();
    }

}
 
Zuletzt bearbeitet von einem Moderator:

Joose

Top Contributor
Was heißt ihr habt "QuadratPanel" erstellt? Was soll das überhaupt sein?
Was wollt ihr ausgeben?

Wollt ihr einfach nur ein Rechteck/Quadrat zeichnen lassen?

Anmerkung: Klassennamen beginnen immer mit einem Großbuchstaben ;)
 

Viktim

Bekanntes Mitglied
meint ihr sowas?

Java:
public class Skript extends JPanel implements MouseListener {
  private static final long serialVersionUID = 1L;

  public Skript() {
    setPreferredSize(new Dimension(400, 400)); // Setzt die größe
    addMouseListener(this); //Fügt den MouseListener hinzi
    JFrame fenster = new JFrame("Skript"); // Neues Fenster, mit Titel Skript
    fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Beendet Prozess, wenn das Fenster geschlossen wird
    fenster.add(this); // Fügt das Panel auf das Fenster
    fenster.pack(); //Lässt das Fenster die geringstmöglich Größe (wird durch die Komponenten und das Layout bestimmt) annehmen.
    fenster.setVisible(true); // Sorgt dafür das das Fenster angezeigt wird

  }

  public static void main(String[] args) {
    new Skript(); // Lässt den Code im Konstruktor (hier drüber) ausführen.
  }

  @Override
  protected void paintComponent(Graphics gra) { //Überschreibt die Zeichenmethode von JPanel
    super.paintComponent(gra); // Aufrufen der Zeichenmethode von JPanel, um die Funktionen nicht zu verlieren.
    gra.clearRect(0, 0, 400, 400);
    gra.setColor(Color.BLUE);
    gra.fillRect(100, 100, 200, 200);
  }

  @Override
  public void mouseClicked(MouseEvent e) {
    System.exit(0);
  }

  @Override
  public void mousePressed(MouseEvent e) {

  }

  @Override
  public void mouseReleased(MouseEvent e) {

  }

  @Override
  public void mouseEntered(MouseEvent e) {

  }

  @Override
  public void mouseExited(MouseEvent e) {

  }
}

  1. EDIT: So mit Kommentaren ist besser, stimmt schon, dass das einfach so doof war....
 
Zuletzt bearbeitet:

Joose

Top Contributor
Leider hat euch Viktim eine fertige Lösung präsentiert ;)
Bleibt nur noch zu erwähnen: Wenn ihr mit Java erst angefangen habt dann lernt doch zuerst die Grundlagen und danach die Grundlagen der objektorientierten Programmiern (OOP).
Wenn ihr das habt setzt euch erst mit UI Programmierung auseinander. Ohne diese Grundlagen wird das reines Copy&Paste mit Try&Fail ;)
 

Pataraca

Mitglied
Vielen Dank für die Antworten!
Wir haben ewig dran rumprobiert, also Eigeninitiative ist vorhanden.
Jetzt wissen wir, dass es nicht an der main-Methode lag, da war unser Denkfehler.

Und ich denke nicht, dass wir morgen die Klausur mit Try&Fail versemmeln.
 

Neue Themen


Oben