Swing [gelöst]Neues Swing Element erstellen

Status
Nicht offen für weitere Antworten.

Hirnspender

Mitglied
Hallo,

ich würde gerne wissen, wie man eigene Swing Elemente erstellen kann, die man anschließend über den 'add' command einem JPanel hinzufügen kann.

Wenn ich zum Beispiel ein Strichmännchen malen will, und das anschließend einem JPanel hinzufügen will.

Ich habe folgende Klasse für das Stichmännchen erstellt:
Java:
import java.awt.*;
/* Klasse zur Implementierung des Aktors in Form
   eines Strichmaennchens */

public class actor {
    private int x=0; /* Koordinaten des Mittelpunktes */
    private int y=0;

    public actor(int a, int b) {
        x=a;
        y=b;
    }

    public void setX(int a) { x=a; }
    public void setY(int b) { y=b; }

    public void paint(Graphics g) {
        g.drawArc(x,y,20,20,0,360);
    }
}

Man erstellt also ein Objekt der Klasse 'actor' mit x und y Koordinate des Mittelpunktes und malt von dort aus das Strichmännchen fertig. (Das im Code momentan nur ein Kreis gezeichnet wird ist mir schon klar!)

Wenn ich jetzt versuche das Männchen hinzuzufügen, mit
Java:
    JPanel seqdiag = new JPanel();
    actor akt_test = new actor(50,50);
    seqdiag.add(akt_test);

weiß Java natürlich nicht, was es mit der Methode 'add' und einem Parameter vom Typ actor anfangen soll. Muss ich meiner Klasse 'actor' noch etwas vererben, oder muss sie etwas bestimmtes Implementieren?

Mfg Hirnspender
 
Zuletzt bearbeitet:

Verjigorm

Top Contributor
Deine Klasse muss von JComponent abgeleitet sein.
Und dann überschreibt man paintComponent(...) und nicht paint(..)!
 

Hirnspender

Mitglied
Danke für die schnelle Hilfe, das Programm lässt sich jetzt fehlerfrei kompilieren und ausführen, nur der Kreis wird noch nicht gezeichnet. Die Klasse sieht jetzt so aus:

Java:
import java.awt.*;
import javax.swing.*;
/* Klasse zur Implementierung des Aktors in Form
   eines Strichmaennchens */

public class actor extends JComponent {
    private int x=0; /* Koordinaten des Mittelpunktes */
    private int y=0;

    public actor(int a, int b) {
        x=a;
        y=b;
    }

    public void setX(int a) { x=a; }
    public void setY(int b) { y=b; }

    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.drawArc(x,y,50,50,0,360);
    }
}

Was muss ich noch beachten, muss die paintComponent(...) des Panels überschrieben werden?
 
S

SlaterB

Gast
Klassen groß schreiben!,

wichtig ist das Layout, wo wird die Komponente wie eingefügt? vielleicht bekommt sie nur eine Größe 1x1 Pixel zugewiesen,
setPreferredSize(new Dimension(100,100));
kann helfen
 

Hirnspender

Mitglied
Hab den Fehler gefunden, hatte nicht beachtet dass ich 'null' als Layout gewählt hab. :)
Thread kann geschlossen werden, besten Dank für die Hilfestellungen!!!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Swing [Gelöst]Radiobuttons "Verknüpfen" AWT, Swing, JavaFX & SWT 3
H Puzzle - Erkennen wenn gelöst (array vergleichen) AWT, Swing, JavaFX & SWT 10
Pithecanthropus [gelöst] JTree, aber nicht mit Strings, sondern mit Objects? AWT, Swing, JavaFX & SWT 2
Pithecanthropus [gelöst ]ActionListener soll nur Änderungen "bemerken" AWT, Swing, JavaFX & SWT 2
H [gelöst] Swing Elemente verdecken AWT, Swing, JavaFX & SWT 14
R [gelöst]Fenster schließen - trotz Endlosschleife in der Paint-Methode? AWT, Swing, JavaFX & SWT 3
J [gelöst] nicht installierte Schrftart nutzen AWT, Swing, JavaFX & SWT 8
M Swing [gelöst] JTable: Edit abstellen AWT, Swing, JavaFX & SWT 3
S Swing [gelöst] GUI-Befehle bleiben wirkungslos, wenn danach was großes gemacht wird. AWT, Swing, JavaFX & SWT 5
S [gelöst] API zum bequemen Navigieren und Auswählen von Ordnern AWT, Swing, JavaFX & SWT 3
P Swing [gelöst/erledigt] Gleicher Code läuft unterschiedlich unter Linux und Windows AWT, Swing, JavaFX & SWT 5
Dragonfire ZoomImage flackert -> Fehler: repaint-Aufruf [gelöst] AWT, Swing, JavaFX & SWT 5
P [gelöst] Verschiebbare Komponenten mit Linien verbinden AWT, Swing, JavaFX & SWT 2
J [gelöst] repaint problem AWT, Swing, JavaFX & SWT 2
A [gelöst] Grundlagenfehler AWT, Swing, JavaFX & SWT 2
R Gelöst: panelGrösse innerhalb eines JFrames AWT, Swing, JavaFX & SWT 7
M problem mit repaint()-Methode[gelöst] AWT, Swing, JavaFX & SWT 8
ModellbahnerTT [gelöst]Frage und Problem zu Swing AWT, Swing, JavaFX & SWT 4
G [gelöst] "Größe" von drawString AWT, Swing, JavaFX & SWT 4
T [gelöst] JFrame Grundlagen (Größe und Darstellung) AWT, Swing, JavaFX & SWT 6
E Inhalt einer JComboBox ... -gelöst AWT, Swing, JavaFX & SWT 2
G JavaFX Code in neues Projekt übernehmen AWT, Swing, JavaFX & SWT 0
W Clear Canvas und anschließendes neues Erstellen von Objekten auf Canvas aus ArrayList AWT, Swing, JavaFX & SWT 4
W Zweites/neues Fenster durch Button öffnen AWT, Swing, JavaFX & SWT 6
B JavaFX TextField Eingabe in neues Fenster übernehmen AWT, Swing, JavaFX & SWT 4
O Kann kei neues Panel zum zeichnen aufrufen... AWT, Swing, JavaFX & SWT 4
J Overlay Panel statt neues Fenster AWT, Swing, JavaFX & SWT 6
X Neues Fenster mit Button öffnen und bearbeiten AWT, Swing, JavaFX & SWT 4
M Swing Durch Usereingabe neues Objekt AWT, Swing, JavaFX & SWT 2
D Swing Neues (3.) Fenster öffnen AWT, Swing, JavaFX & SWT 2
S Mit JButton neues Fester öffnen und das alte schließen AWT, Swing, JavaFX & SWT 3
S SWT neues Fenster, buttons aus alten etc... AWT, Swing, JavaFX & SWT 0
J Panel auf Frame löschen und neues Panel Hinzufügen AWT, Swing, JavaFX & SWT 4
G Event Handling TableView daten in ein neues Fenster herauslesen? AWT, Swing, JavaFX & SWT 3
C Benutzername in GUI eingeben und nach Spiel neues Fenster Benutzername wieder anzeigen AWT, Swing, JavaFX & SWT 1
C Durch klicken von Button neues Fenster oeffnen AWT, Swing, JavaFX & SWT 18
B JavaFX ImageView neues Bild zuweisen AWT, Swing, JavaFX & SWT 19
I Neues JFrame wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 5
S JavaFX Teil eines Bildes ausschneiden / als neues Bild nutzen AWT, Swing, JavaFX & SWT 8
D Mit Klick auf Button ein neues Fenster erzeugen AWT, Swing, JavaFX & SWT 11
D Neues Dialog Mittig auf dem Bildschirm AWT, Swing, JavaFX & SWT 4
I JTable: Doppelklick auf Table soll neues Fenster öffnen und Daten aus JTable anzeigen AWT, Swing, JavaFX & SWT 4
K Java Button öffnet neues Fenster AWT, Swing, JavaFX & SWT 5
D Swing Bei Button Click neues Panel laden AWT, Swing, JavaFX & SWT 3
X Swing Ein neues Fenster öffen aber ohne ein extra Prozess zu starten AWT, Swing, JavaFX & SWT 1
J JTable Zeile anklicken und neues Frame öffnen AWT, Swing, JavaFX & SWT 4
G JavaFX Neues Fenster erstellen AWT, Swing, JavaFX & SWT 3
A Swing GUI mit ComboBox, wenn Item ausgewählt wurde neues GUI AWT, Swing, JavaFX & SWT 7
W Neues TableModel und JTable wird nicht refreshed AWT, Swing, JavaFX & SWT 3
Wirago Swing neues Fenster nicht sichtbar AWT, Swing, JavaFX & SWT 6
D Neues Frame öffnen - und dazu altes schließen AWT, Swing, JavaFX & SWT 5
A JComboBox-Inhalt durch neues Array ersetzen AWT, Swing, JavaFX & SWT 2
GianaSisters AWT Per Button neues Element auf den jPanel setzen AWT, Swing, JavaFX & SWT 6
J Mit Button neues Fenster öffnen AWT, Swing, JavaFX & SWT 17
B Warten bis neues ImageIcon zugewiesen ist AWT, Swing, JavaFX & SWT 3
J jme neues projekt öffnen AWT, Swing, JavaFX & SWT 4
T neues Fenster durch Button öffnen funktioniert nicht!! AWT, Swing, JavaFX & SWT 2
H Applet JApplet soll neues Tab im Browser öffnen AWT, Swing, JavaFX & SWT 2
X Swing Neues Fenster erzeugen AWT, Swing, JavaFX & SWT 3
M Swing jcombobox als jtable-editor: neues Item auswählen AWT, Swing, JavaFX & SWT 4
O Button (ActionPerformed) soll neues JFrame erzeugen AWT, Swing, JavaFX & SWT 8
Dit_ Mit Button "Weiter" neues Panel laden, altes ausblenden... AWT, Swing, JavaFX & SWT 4
H Swing neues fenster AWT, Swing, JavaFX & SWT 2
D Neues Java Fenster öffnen AWT, Swing, JavaFX & SWT 2
G JList und ein neues Element oben in der Liste einfügen AWT, Swing, JavaFX & SWT 4
N Durch Button drücken neues Fenster öffnen AWT, Swing, JavaFX & SWT 13
I Applet --> neues Fenster öffnen AWT, Swing, JavaFX & SWT 11
N Threads kein neues Fenster erzeugen lassen AWT, Swing, JavaFX & SWT 4
F neues Fenster öffnen AWT, Swing, JavaFX & SWT 2
N in jScrollPane, neues Swing Element hinzufügen AWT, Swing, JavaFX & SWT 6
T Jbutton geklickt, dann neues Fenster AWT, Swing, JavaFX & SWT 4
S Neues Panel in JFrame anzeigen durch Button klick AWT, Swing, JavaFX & SWT 2
M Will ein neues Fenster AWT, Swing, JavaFX & SWT 13
D Neues JPanel ohne Symbolleisteneintrag AWT, Swing, JavaFX & SWT 6
G JButton benutzen um ein neues JFrame zu erstellen AWT, Swing, JavaFX & SWT 3
J Problem: neues Fenster bei dispose öffnen AWT, Swing, JavaFX & SWT 8
M neues Frame per klick anzeigen AWT, Swing, JavaFX & SWT 9
M Neues Programm? AWT, Swing, JavaFX & SWT 20
G Neues Frame über Button öffnen lassen AWT, Swing, JavaFX & SWT 15
S MVC - Neues Frame, neue View, neuer Controller? AWT, Swing, JavaFX & SWT 3
hamburger_jung Mit Button Klick neues Fenster öffnen. AWT, Swing, JavaFX & SWT 1
G Neues Model für JTextField erstellen AWT, Swing, JavaFX & SWT 8
M fortführung neues Bild laden AWT, Swing, JavaFX & SWT 12
M neues Bild laden AWT, Swing, JavaFX & SWT 15
V JOptionPane neues outfit mit BasicOptionPaneUI? AWT, Swing, JavaFX & SWT 22
J JList - doppelklick auf item -> neues fenster öffnet sich AWT, Swing, JavaFX & SWT 2
M Neues Fenster öffnen AWT, Swing, JavaFX & SWT 2
D in neues Image-Objekt zeichnen AWT, Swing, JavaFX & SWT 3
G JTree. Neues Element hinzufügen und Selection beibehalten! AWT, Swing, JavaFX & SWT 3
M Tooltip / neues Fenster AWT, Swing, JavaFX & SWT 6
J Neues Problem AWT, Swing, JavaFX & SWT 9
Juelin javax.swing in javafx AWT, Swing, JavaFX & SWT 1
A Eclipse 2023 und Swing AWT, Swing, JavaFX & SWT 4
W 2 JTables in einem Swing-Fenster? AWT, Swing, JavaFX & SWT 5
H Swing Componente zur Läufzeit ändern AWT, Swing, JavaFX & SWT 3
B Actionlistener mit Java Swing AWT, Swing, JavaFX & SWT 2
W Gibt es einen "automatischen Listener" in Swing oder JTable oder der ATM-Klasse? AWT, Swing, JavaFX & SWT 14
H Swing Buttons erst nach Klick sichtbar AWT, Swing, JavaFX & SWT 13
ExceptionOfExpectation Anpassung von JKomponentengrößen (Swing) AWT, Swing, JavaFX & SWT 3
thor_norsk AWT SWING Aufgabe AWT, Swing, JavaFX & SWT 7

Ähnliche Java Themen

Neue Themen


Oben