paint

Status
Nicht offen für weitere Antworten.

ulr!ch

Bekanntes Mitglied
Hi JavaGemeinde,

sorry, vielleicht bin ich ja echt zu blöd, um das hinzubekommen. :cry:
Wie kann ich dieses orange Viereck (drawRect) zeichnen?
Die Klasse MyLabel extends JLabel ist extern.

Der Verzweiflung nahe,
Ulrich

Code:
//--------------------------- IMPORTE ------------------------------
import java.awt.*;
import javax.swing.*;

public class MyLabel
    extends javax.swing.JLabel {
  JLabel mylabel;
  Graphics g;

  public void paintComponent(Graphics g) {
    super.paintComponent(g);
    g.drawRect(0, 0, 20, 20);
    g.setColor(Color.orange);
  }

  public MyLabel(int x, int y, String beschriftung, String buttonbild,
		 String HinterGrundFarbe) {
    mylabel = new JLabel(beschriftung, new ImageIcon("images/"+buttonbild), 0);
    mylabel.setPreferredSize(new Dimension(x, y));

    mylabel.setOpaque(true);
    mylabel.setBackground(new MyColor(HinterGrundFarbe).getMyColor());

    repaint();
  }

//--------------------------- METHODEN -----------------------------
  public JLabel getMyLabel() {
    return this.mylabel;
  }
}
 

Dreezard

Bekanntes Mitglied
Hm. Ich frag mich jetzt so wie so grad, was dieser Code eigentlich tun soll...
Ich meine. Wo genau soll er das Rechteck hinzeichnen? Wenn du nen Hintergrund brauchst gibt's die methode setBackground(Color c)
 

ulr!ch

Bekanntes Mitglied
Dreezard hat gesagt.:
Wenn ich mal fragen dürfte. Wie benutzt du das label? (Bitte mit code)
In der Hauptklasse steht dann so etwas:
Code:
JLabel mylabel_abc = new MyLabel 50, 50, "", "", "hellgelb").getMyLabel();

Zu der anderen mail:
Ich möchte einfach nur was painten, egal ob einen Strich, ein Dreieck oder sonst etwas, und da habe ich halt mit etwas simplen angefangen. :)

By<e Ulrich
 

Dreezard

Bekanntes Mitglied
Aber n Label is da nich grad sehr geeignet.

Also das was du da tust kann garnicht funktionieren.
In deiner Label klasse erzeugst du ein ganz normales JLabel mit dem namen myLabel und mit dem Arbeitest du in der Klasse auch. Dann rufst du in der Hauptklasse dieses gewöhnliche JLabel ab. Aber bei dem normalen JLabel zeichnest du ja garnix. Du erstellst ja nicht eine Instanz deiner eigenen JLabel-Klasse. Ich versuch das grad mal umzuschreiben. Warte ^^

EDIT: Sry. aber muss weg. Vlt. kann dir jmd anderes Helfen. Komme Später aber nochma wieder
 

Dreezard

Bekanntes Mitglied
AAAALSO:

Hier mal 2 Bsp-Klassen

MyLabel.java
Code:
import java.awt.*;
import javax.swing.*;

public class MyLabel extends JLabel {

     // Du brauchst die Instanz g von Graphics nicht 2 mal deklarieren
     // und auf keinen Fall brauchst du ein JLabel, schließlich hast du ja deine Klasse dafür. Die is ja schon ein JLabel!

     public void paint(Graphics g) { // Die paint() methode ist hierzu gut geeignet

          g.setColor(Color.black);  // Farbe für Text
          g.drawString("Test", getWidth() / 2, getHeight() / 2);  // da du die paint() methode des original
                                                                  // JLabels überschreibst musst du auch die
                                                                  // Zeichnung des Textes selbst übernehmen
          g.setColor(Color.orange); // Sollte klar sein
          g.drawRect(0, 0, 100, 100); // Das auch
     }

     public MyLabel(int x, int y, String beschriftung, String buttonbild, Color hintergrundfarbe) { // Konstruktor
     // das Icon funtkioniert nicht, da su dich um die Zeichnung selber kümmern müsstest

          setPreferredSize(new Dimension(x, y));  // Du setzt die Größe DIESES Objektes. Eben das deiner Klasse
          setOpaque(true);  //Macht in diesem Bsp. garnichts
          //setBackground(new MyColor(HinterGrundFarbe).getMyColor());  Konnt ich nicht testen. Wenn du's
                                                                     // nach dem gleichen System gemacht
                                                                     // hast ist's aber auchfalsch

          setBackground(hintergrundfarbe);  // Müstest dich darum auch selbst kümmern

          // Das repaint() brauchst du nicht. Es wird ja gleich zu anfang gezeichnet
     }
}

Use.java
Code:
import javax.swing.*;
import java.awt.*;

public class Use extends JFrame {

     public static void main(String args[]) {

          new Use();
     }

     public Use() {

          super("Sound");
          setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          setLocationRelativeTo(null);
          setSize(200,200);

          MyLabel lab = new MyLabel(50,50,"Labbele", "", Color.blue);
          // Also: Du erstellst ein neues Label aus der Klasse die du geschrieben hast.
          // Darum trägt sie auch deinen Klassennamen.

          getContentPane().add(lab); // Dein Label kannst du jetzt wie ein normales JLabel benutzen

          setVisible(true);
     }
}

Hoffe ich konnte helfen.
Aber jetzt mal ehrlich: Das was du da geschrieben hast hat kaum etwas mit Vererbung zu tun. Ich glaube die fehlen noch ein Paar kenntnisse in sachen Vererbung. Vieleicht ließt du dir da mal was an.
 

ulr!ch

Bekanntes Mitglied
:D Vielen Dank dreezard, dass du dir die ganze Mühe gemacht hast.
Ich hatte wirklich einen das Prinzip nicht ganz verstanden, denke aber nun, dass ich dank deiner Hilfe meinen Code wesentlich optimieren konnte.
Danke noch einmal,

By<e Ulrich
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Swing - Fehler - Paint Methode Java Basics - Anfänger-Themen 7
S awt: paint Methode zeigt nichts an Java Basics - Anfänger-Themen 9
S Paint Anwendung: Freihandlinien zeichnen Java Basics - Anfänger-Themen 4
S Erste Schritte drawOval Problem in Paint Anwendung Java Basics - Anfänger-Themen 1
R Begrenzer Anzahl von paint() ? Java Basics - Anfänger-Themen 3
S KeyListener/ActionListener/paint()/repaint() Java Basics - Anfänger-Themen 3
thet1983 start & paint Methode? Java Basics - Anfänger-Themen 0
S Interface JButton etc. wird in JFrame mit paint() nicht angezeigt Java Basics - Anfänger-Themen 6
M Probleme mit paint() aus java.awt.Graphics Java Basics - Anfänger-Themen 2
D Wert einer Variable in paint-Methode verwenden Java Basics - Anfänger-Themen 2
OnDemand Berechnung in die start und paint Methode eines Applets Java Basics - Anfänger-Themen 28
T Vererbung Wann wird die Methode paint aufgerufen? Java Basics - Anfänger-Themen 4
L Paint() wird scheinbar nicht richtig ausgeführt Java Basics - Anfänger-Themen 8
N aus Container components paint Java Basics - Anfänger-Themen 2
J paint() vs repaint() Java Basics - Anfänger-Themen 3
A Problem mit paint() Java Basics - Anfänger-Themen 2
A Aufruf der paint() Methode Java Basics - Anfänger-Themen 3
Dogge Problem mit paint(Graphics g) im Applet Java Basics - Anfänger-Themen 13
J Problem mit paint(Graphics g) Java Basics - Anfänger-Themen 4
L Erste Schritte Swing oder SWT Paint mit Grafikkarte? Java Basics - Anfänger-Themen 7
T paint() wird nicht aufgerufen Java Basics - Anfänger-Themen 2
K paint() mit einfügen Java Basics - Anfänger-Themen 14
K doppeltes paint beim Drucken Java Basics - Anfänger-Themen 8
J paint-methode blockiert settings von JComponents Java Basics - Anfänger-Themen 5
F Eine Frage über paint() Funktion Java Basics - Anfänger-Themen 2
S [Applet] Objekte von init bei paint benutzen Java Basics - Anfänger-Themen 9
R Methoden Zeichnen auf Button-Druck durch Paint-Methode Java Basics - Anfänger-Themen 2
W repaint() ruft paint() nicht auf Java Basics - Anfänger-Themen 9
J Zweimal im gleichen Paint-Fenster malen Java Basics - Anfänger-Themen 8
A paint() methode von externer Klasse aufrufen Java Basics - Anfänger-Themen 3
J Paint Methode von JPanel aufrufen Java Basics - Anfänger-Themen 15
V paint funktioniert nicht Java Basics - Anfänger-Themen 14
Q Zeichnen außerhalb der paint-methode Java Basics - Anfänger-Themen 7
O Paint Programm mit Fehler Java Basics - Anfänger-Themen 2
A Methoden Variablen in paint methode Java Basics - Anfänger-Themen 4
K Problem mit Parameter von paint(Graphics g) Java Basics - Anfänger-Themen 3
Y im applet malen ohne repaint paint ? Java Basics - Anfänger-Themen 6
S Datentypen Paint Programm Java Basics - Anfänger-Themen 7
M paint-Methode funzt nicht Java Basics - Anfänger-Themen 11
L Paint zeichnet nicht gespeicherte Objekte Java Basics - Anfänger-Themen 3
D OOP paint() Methode aus Unterklasse anstoßen Java Basics - Anfänger-Themen 3
A paint() - warum nicht aufrufen? Java Basics - Anfänger-Themen 3
K Scrollbar - Bild - paint-Methode - zoom Java Basics - Anfänger-Themen 10
S super.paint() Java Basics - Anfänger-Themen 4
S Bild aus paint() Methode auslagern Java Basics - Anfänger-Themen 14
T Etwas an paint()-Methode übergeben? Java Basics - Anfänger-Themen 6
TheKing Paint-Methode aufrufen Java Basics - Anfänger-Themen 14
N paint methode statt Event-Handling-Methode Java Basics - Anfänger-Themen 3
M Paint und JColorChooser Java Basics - Anfänger-Themen 12
G hintergrund wird nicht gezeichnet bei paint() Java Basics - Anfänger-Themen 3
H Paint Methode malt nicht im Panel Java Basics - Anfänger-Themen 4
S Frage zur paint-Methode Java Basics - Anfänger-Themen 3
B Applet: Event-Handling-Methode in start- bzw. paint-Methode Java Basics - Anfänger-Themen 7
G Nichtstatische Objekte in der paint()-Methode Java Basics - Anfänger-Themen 16
K Wieso wird "paint" nicht ausgeführt ? Java Basics - Anfänger-Themen 2
K JPanel, JFrame, paint() und wo ist mein Viereck ? Java Basics - Anfänger-Themen 19
F Frage zu JPanel und Paint Java Basics - Anfänger-Themen 5
P paint Methode Java Basics - Anfänger-Themen 3
M Problem mit paint() und Container. Java Basics - Anfänger-Themen 8
B Paint(Component) und externe Objekte Java Basics - Anfänger-Themen 6
T rotes herz public void paint(Graphics g) Java Basics - Anfänger-Themen 2
F Applets und die paint-Methode Java Basics - Anfänger-Themen 3
G frage zu paint Java Basics - Anfänger-Themen 3
T Mehrere paint Methoden in unterschiedlichen Klassen Java Basics - Anfänger-Themen 7
G start-oder paint-Methode anstatt Event-Handling-Methode? Java Basics - Anfänger-Themen 3
G Hilfe in paint() ; zeichnen Java Basics - Anfänger-Themen 15
C Einfaches Paint-Programm Java Basics - Anfänger-Themen 9
T .paint() aufrufen Java Basics - Anfänger-Themen 23
S Paint Teilweise Zeitverzögert Java Basics - Anfänger-Themen 6
R paint problem Java Basics - Anfänger-Themen 6
G mit paint() ins JPanel malen. Java Basics - Anfänger-Themen 6
M Auf Panels oder Labels malen? (paint) Java Basics - Anfänger-Themen 9
G repaint in paint aufrufen? Java Basics - Anfänger-Themen 9
V paint()-methode manuell aufrufen? kein autostart erwuenscht Java Basics - Anfänger-Themen 3
B Problem mit Einfügen von Choice (in ein Applet) aus Paint Java Basics - Anfänger-Themen 13
7 In Paint keine Schleife? Java Basics - Anfänger-Themen 13
T paint() wieder aus einder anderen methode aufrufen funzt nid Java Basics - Anfänger-Themen 2
G Paint auf Panel Java Basics - Anfänger-Themen 4
G Paint Methode löscht alles Java Basics - Anfänger-Themen 4
S paint() direkt auf JFrame seit 1.5 nicht mehr möglich? Java Basics - Anfänger-Themen 5
A Variablenübergabe in die Paint-Funktion Java Basics - Anfänger-Themen 4
D Zeichnen mit Paint zerstört ganzes Fenster Java Basics - Anfänger-Themen 5
G Klassen und paint methode Java Basics - Anfänger-Themen 2
T paint() ohne konstruktor aufzurufen? Java Basics - Anfänger-Themen 5
P paint() Java Basics - Anfänger-Themen 6
X Malen außerhalb der paint() Methode Java Basics - Anfänger-Themen 4
C zu viele paint()'s. Java Basics - Anfänger-Themen 6
G Zeichnen ausserhalb der paint Methode Java Basics - Anfänger-Themen 4
V Problem mit der Anzeige einer paint-Methode in einem Panel Java Basics - Anfänger-Themen 2
N Probleme mit paint() bei Implementierung in ein Panel Java Basics - Anfänger-Themen 4
Dilandau paint(Graphics g) { unbekannt in try{} / catch{} }? Java Basics - Anfänger-Themen 5
D von paint() und repaint() im Applet Java Basics - Anfänger-Themen 4
C Ausgaben mit der Paint-Methode Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben