Mit mehreren in Objekten in JFrame printen?

Judit

Mitglied
Hallo Zusammen,

ich würde gerne wissen, wenn ich in einem Objekt public void paint(Graphics g)
implementiere
Und aus einer anderen Klasse ein Fenster mit JFrame erzeuge, das Objekt via paint(Graphics g)
in das Fenster schreiben kann?

Mein Versuch in der Main Methode
Beispiel:

Punkt test=new Punkt(55,66,Color.black);
LeeresFenster t=new LeeresFenster("test");
gBuffer=t.getGraphics();
test.paint(gBuffer);
t.update(gBuffer);

Danke für euere Hilfe
 

njans

Top Contributor
So etwas sollte man partu nicht machen. Wenn du da getGraphics aufrufst, kommst du in Teufels Küche ;)
Du kannst es dann, mit etwas mehr Aufwand, dennoch recht einfach machen.
Du musst eben nur in der paint/paintComponent Methode die Komponente auf ein Bild zeichnen lassen und dir diese dann zugänglich machen.
 
G

Gast2

Gast
Ich nehme an LeeresFenster ist ein JFrame? Dann ist getGraphics() definitiv die falsche Wahl! Das darfst du auf nem Swing Container nicht aufrufen.

Lösen kannst du das beispielsweise so:

Java:
interface Paintable {
  public void paint(Graphics g);
}

class PaintPanel extends JPanel {

  private List<Paintable> paintables;

  public PaintPanel (List<Paintable> paintables) {
    this.paintables = paintables;
  }

  protected void paintComponent(Graphics g) {
    for (Paintable paintable : paintables) {
      paintable.paint(g);
    }
  }
}

Sowas in etwa hast du gesucht oder?
 

Judit

Mitglied
Ich bin mir aber immer noch nicht im Klaren in der Umsetzung.

Ja genau es ist JFrame.

Wir haben ein Aufgabe von in der Uni bekommen und in der heisst es:

Erweitern Sie alle 3 Klassen um eine paint(Graphics
g) – Methode und implementieren Sie dort die
Zeichnung der jeweiligen Figur.

Erstellen Sie die Testklasse PKZAnzeiger die die
Klasse LeeresFenster beerbt und 50 Objekte von
Punkt, Kreis oder Zylinder mit Zufallswerten erzeugt.

Danke schon mal :)
 
Zuletzt bearbeitet:
G

Gast2

Gast
Die Lösung steht doch schon mehr oder weniger in meinem Post. Was genau verstehst du daran nicht?
 

Judit

Mitglied
Weil ich den Zusammenhange von deinem Code nicht verstehe.

Warum soll ich noch eine neue Klasse erstellen?

und z.B wie wende ich das dann test.print() auf die neue Methode bzw. wodurch wird der Kreis in meinem JFrame angezeigt?

LG und Danke
 
Vielleicht, grob vereinfacht ?

[ Erweitern Sie alle 3 Klassen um eine paint(Graphics
g) – Methode und implementieren Sie dort die
Zeichnung der jeweiligen Figur. ]

Java:
public class HauptKlasse {
 public static void main(String[] args) {
  HauptKlasse hk = new HauptKlasse();
  hk.los();
 }

 public void los() {
  new Klasse1();
  new Klasse2();
  new Klasse3();
 }

 class Klasse1 extends JPanel { // In allen drei Klassen können beliebige Figuren gezeichnet werden.
  public void paintComponent(Graphics g) {
   g.setColor(Color.white);
   g.fillRect(0,0,this.getWidth(),this.getHeight());

   g.setColor(Color.green);
   g.fillOval(x,y,40,40);
  }
 }

 class Klasse2 extends JPanel {
  public void paintComponent(Graphics g) {
   g.setColor(Color.white);
   g.fillRect(0,0,this.getWidth(),this.getHeight());

   g.setColor(Color.green);
   g.fillOval(x,y,40,40);
  }
 }

 class Klasse3 extends JPanel {
  public void paintComponent(Graphics g) {
   g.setColor(Color.white);
   g.fillRect(0,0,this.getWidth(),this.getHeight());

   g.setColor(Color.green);
   g.fillOval(x,y,40,40);
  }
 }
}

[ Erstellen Sie die Testklasse PKZAnzeiger die die
Klasse LeeresFenster beerbt und 50 Objekte von
Punkt, Kreis oder Zylinder mit Zufallswerten erzeugt. ]

Eine Hauptklasse, in diesem Fall die Testklasse [c]PKZAnzeiger[/c] , die z.B eine [c]for-Schleife[/c] oder [c]math.random()[/c] hat, die verschiedene Werte generieren, über Variablen und schliesslich die Klasse [c]LeeresFenster extends PKZAnzeiger[/c] aufrufen und in [c]paintComponent(g)[/c] gezeichnet wird.

?
 

Judit

Mitglied
leider hat mir kein Vorschlag von euch geholfen.

So funktioniert das jetzt wie gewünscht von mir:

Anzeiger Fenster=new Anzeiger();
Container cp=Fenster.getContentPane();

Graphics g=cp.getGraphics();

und g an die Paint Methode der erzeugten Objekte übergeben. Dann wird der Inhalt, der in den Objekten einer anderen Klasse erzeugt wird, auch im JFrame angezeigt.

VG,
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Sichtbarmachen von Objekten auf mehreren JPanels AWT, Swing, JavaFX & SWT 2
T Swing KeyListener mit mehreren Objekten AWT, Swing, JavaFX & SWT 2
G Ikonli in Fat-Jar mit mehreren Icon-Packs einbinden AWT, Swing, JavaFX & SWT 5
F Zeile in mehreren Jtables bei Selektion markieren AWT, Swing, JavaFX & SWT 11
K JavaFX Resizing-Problem beim BorderLayout (Center Component) beim Arbeiten mit mehreren FXMLs AWT, Swing, JavaFX & SWT 2
P JavaFx - Progressbar - Füllen mittels mehreren Tasks AWT, Swing, JavaFX & SWT 0
O Basics - Anwendung erstellen mit mehreren Szenen AWT, Swing, JavaFX & SWT 1
N Taschenrechner mit mehreren Rechnungen AWT, Swing, JavaFX & SWT 18
M Swing MVC-Pattern - View mit mehreren Models AWT, Swing, JavaFX & SWT 5
B JavaFX PrinterJob mit mehreren Seiten AWT, Swing, JavaFX & SWT 0
T JavaFX Label mit mehreren Images AWT, Swing, JavaFX & SWT 11
R KeyListener in mehreren Panels AWT, Swing, JavaFX & SWT 5
M Ein Element in mehreren JList selektieren AWT, Swing, JavaFX & SWT 5
W Swing JPanel nur einmal nach mehreren Änderungen neu zeichnen AWT, Swing, JavaFX & SWT 1
S JComboBox mit mehreren Spalten? AWT, Swing, JavaFX & SWT 6
K Swing Keine Reaktion auf Tastatureingaben bei mehreren Buttons??? AWT, Swing, JavaFX & SWT 4
M Swing MVC mit mehreren Klassen AWT, Swing, JavaFX & SWT 2
J JavaFX eine Art Tabelle, jedoch mit mehreren Zeilen AWT, Swing, JavaFX & SWT 2
K Swing Klassenstruktur mit mehreren JPanels AWT, Swing, JavaFX & SWT 3
M Applikation mit mehreren Scenes AWT, Swing, JavaFX & SWT 5
F Swing JAVA GUI Übergabe von Werten zwischen mehreren Fenstern/Klassen AWT, Swing, JavaFX & SWT 10
A JButton - Klicks zählen auf mehreren Buttons AWT, Swing, JavaFX & SWT 2
P Liste mit Icons und mehreren Spalten AWT, Swing, JavaFX & SWT 7
B Swing Formular mit mehreren Elementen - wie die ActionListener-Verarbeitung lösen? AWT, Swing, JavaFX & SWT 2
S Shape erstellen der aus mehreren Elementen besteht..? AWT, Swing, JavaFX & SWT 3
F Tablemodel zu mehreren Tabellen AWT, Swing, JavaFX & SWT 6
DamienX Swing Component auf mehreren Containern AWT, Swing, JavaFX & SWT 2
B Swing JFormattedTextField auf mehreren JPanels in einer JTabbedPane AWT, Swing, JavaFX & SWT 3
M In Jlist auf Änderungen von mehreren JLabels reagieren AWT, Swing, JavaFX & SWT 3
E JTable nach mehreren Spalten sortieren AWT, Swing, JavaFX & SWT 14
B SWT SWT Tree mit mehreren Spalten AWT, Swing, JavaFX & SWT 3
W GUI in mehreren Threads AWT, Swing, JavaFX & SWT 5
J Swing JComboBox mit mehreren Spalten AWT, Swing, JavaFX & SWT 4
T Auf Ende von mehreren Threads warten, ohne den EDT zu blockieren AWT, Swing, JavaFX & SWT 1
J SWING Fenster mit mehreren JPanels (dank JLayeredPane) AWT, Swing, JavaFX & SWT 19
G Verliere Referenz von Toolbar bei mehreren Fenster AWT, Swing, JavaFX & SWT 3
M MVC: Grundidee verstanden aber was machen mit mehreren Model AWT, Swing, JavaFX & SWT 2
R Daten in JTable in mehreren Zeilen darstellen AWT, Swing, JavaFX & SWT 11
G JDialog mit mehreren Elementen! AWT, Swing, JavaFX & SWT 5
G Ein Frame mit mehreren austauschbaren Panels AWT, Swing, JavaFX & SWT 3
S JTable audrucken, aber mit mehreren Footers und Headers AWT, Swing, JavaFX & SWT 2
O Zwischen mehreren Bildern wechseln AWT, Swing, JavaFX & SWT 6
S Enter in JLabel - oder: JTabbedPane mit mehreren JLabel AWT, Swing, JavaFX & SWT 3
I Arbeiten mit mehreren Fenstern AWT, Swing, JavaFX & SWT 4
H jar-archive mit mehreren Klassen erstellen AWT, Swing, JavaFX & SWT 3
G Organisation Anwendung mit mehreren Eingabedialogen AWT, Swing, JavaFX & SWT 3
L Probleme mit mehreren Canvas: Überlagerungseffekte? AWT, Swing, JavaFX & SWT 5
N JComboBox mit mehreren Spalten AWT, Swing, JavaFX & SWT 21
Q Auf mehreren JPanels Bilder zeichnen. AWT, Swing, JavaFX & SWT 5
T Swing: MainForm mit mehreren Tabs AWT, Swing, JavaFX & SWT 6
K Spaltenbreite von mehreren Tabellen gleichzeitig verändern AWT, Swing, JavaFX & SWT 3
H JTable Text aus mehreren Zellen in einer Spalte kopieren? AWT, Swing, JavaFX & SWT 3
R Navigieren zwischen mehreren Fenstern AWT, Swing, JavaFX & SWT 7
U Anwendung mit mehreren "Fenstern" AWT, Swing, JavaFX & SWT 4
M JDialog mit mehreren Eingabenfeldern? AWT, Swing, JavaFX & SWT 5
M jtabbedpane mit mehreren layoutmanagern? AWT, Swing, JavaFX & SWT 2
V Werte mehreren Checkboxes zuweisen AWT, Swing, JavaFX & SWT 3
T JList mit mehreren spalten AWT, Swing, JavaFX & SWT 2
M Mit mehreren Panels arbeiten AWT, Swing, JavaFX & SWT 2
A JFrame mit mehreren Panels AWT, Swing, JavaFX & SWT 10
P JTable nach mehreren Spalten sortieren AWT, Swing, JavaFX & SWT 15
V JTable mit mehreren Componenten in einer Spalte ? AWT, Swing, JavaFX & SWT 6
M Dialog mit mehreren Komponenten AWT, Swing, JavaFX & SWT 4
N Checkbox mit mehreren Strings belegen? AWT, Swing, JavaFX & SWT 6
Encera ArrayList mit eigenen Objekten in JavaFX sortieren und ausgeben AWT, Swing, JavaFX & SWT 50
ExceptionOfExpectation MouseListener-Objekte zu den Graphics-Objekten einfügen AWT, Swing, JavaFX & SWT 3
W Clear Canvas und anschließendes neues Erstellen von Objekten auf Canvas aus ArrayList AWT, Swing, JavaFX & SWT 4
J Drag and Drop von eigenen Objekten AWT, Swing, JavaFX & SWT 3
I Umgang mit vielen Objekten AWT, Swing, JavaFX & SWT 3
J LayoutManager GridBagLayout, probleme mit Anordnung von Objekten AWT, Swing, JavaFX & SWT 6
perlenfischer1984 JavaFX : JTreeView mit verschieden Objekten AWT, Swing, JavaFX & SWT 0
M Java FX Dreidimensionale Anordnung von Objekten AWT, Swing, JavaFX & SWT 4
P Swing Validieren von deserializierten Objekten AWT, Swing, JavaFX & SWT 2
P Vorteile von Tooltip nutzen (wird über allen anderen Objekten angezeigt) AWT, Swing, JavaFX & SWT 3
I Paint-Methode von nicht statischen Objekten aufrufen AWT, Swing, JavaFX & SWT 3
G JavaFX Binding von Objekten AWT, Swing, JavaFX & SWT 4
P Swing JList mit Objekten - Name anzeigen AWT, Swing, JavaFX & SWT 5
D animierte kameraansicht zwischen gezeichneten objekten AWT, Swing, JavaFX & SWT 4
1 Liste mit Objekten Füllen AWT, Swing, JavaFX & SWT 7
M JList mit 2-zeiligen Objekten füllen AWT, Swing, JavaFX & SWT 7
M Verschwinden von gezeichneten Objekten nach Fensterverkleinerung AWT, Swing, JavaFX & SWT 3
B Swing Laden von serialisierten Objekten (invalid type code AC)) AWT, Swing, JavaFX & SWT 3
C Swing Drag and Drop mit Objekten in einem Fenster. AWT, Swing, JavaFX & SWT 9
M PropertyChangeListener - JTable bei neuen Objekten updaten? AWT, Swing, JavaFX & SWT 3
M JTable Sortierung - -zeilenweise mit Objekten verknüpfen AWT, Swing, JavaFX & SWT 4
X JTable mit verschiedenen Objekten füllen AWT, Swing, JavaFX & SWT 14
S AWT Pong - Probleme mit übergreifenden Objekten && Graphics2D AWT, Swing, JavaFX & SWT 3
S Spielfeld mit unförmigen Objekten anklickbar machen? AWT, Swing, JavaFX & SWT 4
W setEnabled in Container Objekten (JScrollPane) AWT, Swing, JavaFX & SWT 5
Q Dynamische Zahl und Positionierung von Objekten AWT, Swing, JavaFX & SWT 5
L JPanel mit Objekten selektieren wie unter Windows / Ubuntu AWT, Swing, JavaFX & SWT 4
P JTable:Sortierung nach der Zeit/Spalte mit Calendar-Objekten AWT, Swing, JavaFX & SWT 2
M Probleme beim Hinzufügen von Objekten zu getContentPane() AWT, Swing, JavaFX & SWT 2
T Drag&Drop mit Objekten! Grundsätzlich. AWT, Swing, JavaFX & SWT 3
C Positionieren von Objekten AWT, Swing, JavaFX & SWT 11
T Gleichzeitiges Steuern von 2 Objekten über Tastatur AWT, Swing, JavaFX & SWT 8
I Größe von Swing-Objekten ändern AWT, Swing, JavaFX & SWT 13
A Attribute von Objekten in JTable-Zeilen anzeigen AWT, Swing, JavaFX & SWT 2
S JTree mit eigenen Objekten füllen AWT, Swing, JavaFX & SWT 4
S Problemen mit Canvas-Objekten im GridLayout AWT, Swing, JavaFX & SWT 8

Ähnliche Java Themen

Neue Themen


Oben