Dynamisch Objekte in Canvas zeichnen

lanfire

Neues Mitglied
Hallo,

ich versuche jetzt schon eine ganze Zeit erstmal einfach Linien auf mein Canvas zu zeichnen.
Ich denke das bei mir momentan ein grundsätzliches Verständnisproblem vorhanden ist.


Also im Prinzip hänge ich hier:
Java:
public class ZeichenFlaeche extends Canvas
{
  private Canvas ZeichenflaecheCanvas = new Canvas();
  Graphics g;
  @Override public void paint(Graphics g)
  {
    g.drawLine(10,100,10,10);
  }
}

Also eine Linie bekomme ich so schonmal angezeigt, allerdings weiß ich vorher noch nicht was ich für Linien haben will. Dass soll durch drücken von Buttons passieren.

Wie krieg ich diese Paint methode jetzt soweit das ich ihr während der Laufzeit noch weiter Objekte hinzufügen kann? Also ich möchte Beispielsweise ein Rechteck hinzufügen. Da ich jedoch noch nicht weiß, wo diese hin sollen und wie viele es sein werden, kann ich es nicht fest zeichnen.

Wie kriege ich also in meinem Canvas etwas "dynamisch" gezeichnet? Es soll halt aus meinen Action Events herraus passieren.

Kann mir jemand erklären wie ich das machen muss? Mein Buch (JAva Insel) hilft mir nur unwesentlich weiter.

Danke :):):):):):):):):)
 
S

SlaterB

Gast
du musst dir irgendeine Art der Informations-Konservierung/Ablage ausdenken,
die 2 bis 4 Punkte des Rechtecks in einen String, ein int[] oder am schönsten in einer extra Rechteck-Klasse,

diese Daten erstellt irgendjemand, wenn das klappt, dann in einem einzelnen Klassenattribut oder einer Liste ablegen
und bei jedem paint diese gemerkten Daten abfragen und verarbeiten

schau dir Tutorials hiervon an:
http://www.java-forum.org/spiele-multimedia-programmierung/6529-tutorials.html
 

snowsaw

Neues Mitglied
Hallo

Ich habe dasselbe Problem. Leider hat mir der Link nicht weitergeholfen.

Ich habe das "Hauptprogramm"
Java:
public class hauptProgramm{
	public static void main(String[] args) {
		dateiEinlesen datei1 = new dateiEinlesen();
		gui gui1 = new gui();
	
		gui1.setTitle("My AWT Frame");
		gui1.setVisible(true);

		
		System.out.println("FERTIG");
	}

}

Nun habe ich sämtliche Informationen zu den Zeichnungsobjekten in "datei1".

Wie greiffe ich nun auf die Instanz "datei1" in folgendem Code zu?

Java:
import java.awt.*;
import java.awt.event.*;
import java.util.Vector;


@SuppressWarnings("serial")
public class gui extends Frame {

	public gui() {
		setSize(500, 500);
		addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent ev) {
				dispose();
				System.exit(0);
			}
		});
	}

	public void paint(Graphics g) {
		Insets insts = getInsets();
		g.translate((getSize().width-insts.left-insts.right)/2+insts.left, 
				(getSize().height-insts.top-insts.bottom)/2+insts.top);

		g.setColor(Color.blue);
		g.drawRect(-200,-200,400,400);
	}
}

Vielen Dank
 

L-ectron-X

Gesperrter Benutzer
Bspw. indem du eine Referenz auf das dateiEinlesen-Objekt deiner gui-Referenz übergibst und die Informationen dann über die entsprechenden Methoden ausliest.

Dazu könnet das hier helfen: http://www.java-forum.org/einfuehrungen-erste-schritte/14159-zugriff-objekt-anderen.html

[OT]BTW: Halte dich bitte an die Java Coding Conventions.
Klassennamen beginnen demnach mit einem Großbuchstaben. Variablen- und Methodennamen beginnen mit einem Kleinbuchstaben.
Innerhalb der jeweiligen Bezeichner ist dann CamelCase zu schreiben, um die Lesbarkeit zu verbessern.
Konstanten werden durchgängig groß geschrieben.

Schau dir dazu am besten die Schreibweisen der Klassen der Java-API ab.[/OT]
 

snowsaw

Neues Mitglied
Vielen Dank für die rasche Antwort und den Denkanstoss. Das geht ja razfaz. Ist mein erster Forumseintrag :) Mit ein bischen überlegen hat man :idea:.

Sieht nun so aus:

Java:
public class Gui extends Frame {

	private DateiEinlesen daten;
	
	public Gui(DateiEinlesen datei1) {
		daten = datei1;
		setSize(500, 500);
		addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent ev) {
				dispose();
				System.exit(0);
			}
		});
	}
........

und

Java:
public class HauptProgramm{



	public static void main(String[] args) {
		DateiEinlesen datei1 = new DateiEinlesen();
		Gui gui1 = new Gui(datei1);
	
		gui1.setTitle("My AWT Frame");
		gui1.setVisible(true);

		
		System.out.println("FERTIG");
	}

}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
MaxG. Swing Dynamisch grafische Objekte erzeugen AWT, Swing, JavaFX & SWT 12
J Swing/AWT | Dynamisch erzeugte Objekte ansprechen AWT, Swing, JavaFX & SWT 1
A Swing Dynamisch Objekte erzeugen AWT, Swing, JavaFX & SWT 3
Airwolf89 Swing Dynamisch auf Objekte in einer GUI zugreifen AWT, Swing, JavaFX & SWT 10
W JavaFX Farben dynamisch anpassen AWT, Swing, JavaFX & SWT 4
B Größe der Parent-Component dynamisch an children anpassen AWT, Swing, JavaFX & SWT 30
K Buttons dynamisch erstellen (NetBeans) AWT, Swing, JavaFX & SWT 10
ralfb1105 JavaFX TreeView dynamisch aus Datenbank Tabelle erstellen AWT, Swing, JavaFX & SWT 22
ralfb1105 JavaFX Dynamisch TableView Spalten erstellen AWT, Swing, JavaFX & SWT 4
A Swing JPanels dynamisch untereinander einfügen AWT, Swing, JavaFX & SWT 3
Wurstsemmel SWT MenuItem dynamisch hinzufügen AWT, Swing, JavaFX & SWT 2
L JavaFX List oder TableView Größe dynamisch anpassen? AWT, Swing, JavaFX & SWT 4
Thallius JTable dynamisch Spaltenanzahl verändern AWT, Swing, JavaFX & SWT 2
Thallius JTable dynamisch laden? AWT, Swing, JavaFX & SWT 2
S CombinedDomainXYPlot und dynamisch hinzugefügte subplots: Darstellungsprobleme AWT, Swing, JavaFX & SWT 3
K Liniendicke für Line Chart dynamisch ändern AWT, Swing, JavaFX & SWT 0
N Swing Wie Programm strukturieren? (Dynamisch Komponenten hinzufügen) AWT, Swing, JavaFX & SWT 1
llabusch JavaFX Dynamisch alles vergrößern (wie im Browser) AWT, Swing, JavaFX & SWT 3
agent47 JavaFX TreeView Struktur dynamisch einlesen AWT, Swing, JavaFX & SWT 1
D JavaFX Dynamisch erzeugte Buttons sollen Code ausführen. AWT, Swing, JavaFX & SWT 2
D JavaFX Dynamisch erzeugte Checkboxen aus VBox auslesen AWT, Swing, JavaFX & SWT 3
I JTable dynamisch aus ArrayList befüllen AWT, Swing, JavaFX & SWT 3
T JavaFX Flexible Layouts dynamisch erstellen / Design-Inspirationen AWT, Swing, JavaFX & SWT 8
T Dynamisch mehrere Checkboxen anlegen AWT, Swing, JavaFX & SWT 2
J JavaFX TextArea dynamisch Icon im Background anzeigen AWT, Swing, JavaFX & SWT 2
T JPanel dynamisch erstellen AWT, Swing, JavaFX & SWT 4
G FormLayout dynamisch wachsend AWT, Swing, JavaFX & SWT 0
T JTable dynamisch mit ArrayList AWT, Swing, JavaFX & SWT 2
A Swing Logikaufgabe: Zeilenanzahl einer JTable mit 3d String dynamisch anpassen AWT, Swing, JavaFX & SWT 2
T Swing JScrollPane in JPanel - Breite dynamisch, Höhe fix - wie? AWT, Swing, JavaFX & SWT 2
P TableViewerColumn dynamisch erzeugen AWT, Swing, JavaFX & SWT 3
Kandum obj_JMenu.addMenuListener - variable Anzahl an JMenus / menulistenern & frame.setTitle() dynamisch AWT, Swing, JavaFX & SWT 7
A HELP: JFieldText dynamisch setzen -> langsam AWT, Swing, JavaFX & SWT 19
C Swing CardLayout dynamisch erweitern AWT, Swing, JavaFX & SWT 11
B Link eines Icons dynamisch gestalten AWT, Swing, JavaFX & SWT 2
P ScrollPane nach zeichnen dynamisch resize AWT, Swing, JavaFX & SWT 7
B JToolBar dynamisch auf mehrere Zeilen erweitern AWT, Swing, JavaFX & SWT 2
I Jlist dynamisch aus Datenbank füllen AWT, Swing, JavaFX & SWT 14
P Gifs dynamisch auf GUI anzeigen AWT, Swing, JavaFX & SWT 4
E Breite eines JButton dynamisch ändern AWT, Swing, JavaFX & SWT 3
P Swing Dynamisch zeichnen mit Shapes wie Rectangle2D.Float ? AWT, Swing, JavaFX & SWT 6
C SWT - widget dynamisch erzeugen und anzeigen AWT, Swing, JavaFX & SWT 10
C Tooltip dynamisch setzen AWT, Swing, JavaFX & SWT 7
T Elemente zu JList dynamisch hinzufügen AWT, Swing, JavaFX & SWT 4
X jTextFields dynamisch initialisieren AWT, Swing, JavaFX & SWT 2
L Label dynamisch awt AWT, Swing, JavaFX & SWT 2
H Swing Symbol in Taskleiste dynamisch aus- bzw. einblenden AWT, Swing, JavaFX & SWT 14
B JTabbedPane mit Enumeration dynamisch füllen AWT, Swing, JavaFX & SWT 5
D Panels Dynamisch zur Laufzeit austauschen AWT, Swing, JavaFX & SWT 2
J Java 2D - dynamisch zeichnen AWT, Swing, JavaFX & SWT 4
A AWT HSB-Farben dynamisch berechnen AWT, Swing, JavaFX & SWT 5
P Dynamisch Sortieren AWT, Swing, JavaFX & SWT 2
B Swing Dynamisch Elemente in JScrollPane hinzufügen AWT, Swing, JavaFX & SWT 6
Airwolf89 Swing Tabs dynamisch ausblenden AWT, Swing, JavaFX & SWT 3
H Swing Register (jTabbedPane) dynamisch hinzufügen? AWT, Swing, JavaFX & SWT 7
Airwolf89 Swing Anzahl der Tabellenspalten dynamisch setzen AWT, Swing, JavaFX & SWT 2
S SWT WizardPage - Button anzeigen und Text-Widgets dynamisch aktualisieren AWT, Swing, JavaFX & SWT 12
R JLabel und JSlider dynamisch erzeugen? AWT, Swing, JavaFX & SWT 3
W Swing dynamisch Buttons in JEditorPane erstellen AWT, Swing, JavaFX & SWT 2
Pithecanthropus Swing JPanels dynamisch austauschen AWT, Swing, JavaFX & SWT 8
S Applet mit Graphics dynamisch vergrößern AWT, Swing, JavaFX & SWT 3
Spot84 jtable mit checkboxnode dynamisch per arraylist füllen AWT, Swing, JavaFX & SWT 8
bugmenot Dynamisch erzeugte jLabels werden nicht angezeigt. AWT, Swing, JavaFX & SWT 5
ABstraCT JCombobox dynamisch füllen (erstes Element Problem) AWT, Swing, JavaFX & SWT 4
J JLabels usw. dynamisch anlegen AWT, Swing, JavaFX & SWT 8
A JList dynamisch vergrößern AWT, Swing, JavaFX & SWT 4
G Felder dynamisch erzeugen! AWT, Swing, JavaFX & SWT 3
I Textfields dynamisch erzeugen AWT, Swing, JavaFX & SWT 4
G Dynamisch Komponenten in einem JPanel bzw JFram austauschen AWT, Swing, JavaFX & SWT 7
B JTree dynamisch aufbauen AWT, Swing, JavaFX & SWT 3
L JPanel dynamisch zuweisen AWT, Swing, JavaFX & SWT 5
T Inhalt einer Combobox dynamisch erstellen? AWT, Swing, JavaFX & SWT 13
S JTextField-Größe dynamisch an Inhalt anpassen. AWT, Swing, JavaFX & SWT 3
S Farben eienr JTextPane dynamisch zuweisen AWT, Swing, JavaFX & SWT 2
J Zugriff auf "dynamisch erzeugte" JTextFields AWT, Swing, JavaFX & SWT 2
D Systray-Icon dynamisch zeichnen AWT, Swing, JavaFX & SWT 8
B JTree dynamisch nachladen AWT, Swing, JavaFX & SWT 3
U Label Icon dynamisch belegen AWT, Swing, JavaFX & SWT 12
F JRadioButton dynamisch benennen? AWT, Swing, JavaFX & SWT 7
A dynamisch weitere jpanels untereinander hinzufügen AWT, Swing, JavaFX & SWT 10
S dynamisch erzeugte buttons AWT, Swing, JavaFX & SWT 22
J Größe einer JTextArea dynamisch anpassen. AWT, Swing, JavaFX & SWT 2
F Komponente dynamisch erzeugen AWT, Swing, JavaFX & SWT 4
M ImageObserver, Bild dynamisch erzeugen und Speichern AWT, Swing, JavaFX & SWT 24
M gezeichnete Punkte dynamisch verschieben mit mousedragged AWT, Swing, JavaFX & SWT 4
S inhalt dynamisch erzeugter JComboBoxs auslesen AWT, Swing, JavaFX & SWT 3
G Mousecursor selber dynamisch generieren. AWT, Swing, JavaFX & SWT 6
G JRadioButton dynamisch erzeugen AWT, Swing, JavaFX & SWT 6
M Look and Feels dynamisch abfragen AWT, Swing, JavaFX & SWT 13
S Columnname dynamisch verändern AWT, Swing, JavaFX & SWT 2
H JComboBoxen dynamisch erzeugen AWT, Swing, JavaFX & SWT 3
K toolbar dynamisch erzeugen AWT, Swing, JavaFX & SWT 2
L Komponenten dynamisch erkennen und bearbeiten AWT, Swing, JavaFX & SWT 8
H große mengen an jbuttons dynamisch erzeugen? AWT, Swing, JavaFX & SWT 15
Juelin Objekte refresh AWT, Swing, JavaFX & SWT 3
N Graphics Objekte scalen mit Veränderung des Bildschirms AWT, Swing, JavaFX & SWT 19
berserkerdq2 Skalieren sich javafx objekte automatisch auf die Bildschirmgröße AWT, Swing, JavaFX & SWT 6
Redeason Objekte in meiner GUI verschieben AWT, Swing, JavaFX & SWT 1
_user_q Objekte vom MainController in anderen Controller verwenden und andersherum (NullPointerException) AWT, Swing, JavaFX & SWT 14
_user_q JavaFX Wie kann ich alle Objekte außer eins deaktivieren (das Gleiche mit BoxBlur)? AWT, Swing, JavaFX & SWT 11

Ähnliche Java Themen

Neue Themen


Oben