AWT Paint(g) im Listener aufrufen

L0llip0p88

Neues Mitglied
Hallo Leute,

ich hab folgendes Problem: ich hab ne normale gui, und wenn man den OK-Button drückt wird ein neues Fester initialisiert. In diesem neuen Fenster möchte ich das malen, was in der paint() drin steht. Allerdings will das nicht und ich bekomm im zweiten fenster gar keine ausgabe...Also es soll der Eingabestring ausgegeben werden, den ich in der ersten GUI erzeuge...
Hier noch der Code:
Java:
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GridLayout;
import java.awt.RenderingHints;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.JViewport;




public class GUI extends JFrame{
	
	//zum skalieren
	static float scale = 5;
	//y-shift
	static float yshift = 500;
	//x-shift
	static float xshift = 100;
	//Eingegebener darzustellender Text
	String eingabeString;
	
	public GUI(int x, int y){
		
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(x,y);
		setTitle("Glyphs");
		Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
		setLocation((d.width - getSize().width)/2, (d.height - getSize().height)/5);
		//Dynamisches Layout während einer Größenänderung
		Toolkit.getDefaultToolkit().setDynamicLayout(true);
		setVisible(true);
		
	}
	
	public void display(){
		
		//Text Panel
		JPanel pnlTop = new JPanel();
		
		//Layout für das Obere Panel
		pnlTop.setLayout(new GridLayout(3, 3));
		add(pnlTop);
		
		//Textlabel Texteingabe
		JLabel label = new JLabel("  Hier ihre Texteingabe:");
		label.setForeground(Color.black);
		pnlTop.add(label);
		
		//Textfeld für die Eingabe
		final JTextField textField = new JTextField();
		pnlTop.add(textField);
		
		//Checkbox für XML
		final JCheckBox checkBox = new JCheckBox("XML Datei erzeugen");
		pnlTop.add(checkBox);
		
		//Textlabel für die Dateieinlesung
		JLabel label2 = new JLabel("  Oder eine Textdatei einlesen:");
		pnlTop.add(label2);
		
		//Button 
		pnlTop.add(new JPanel());
		JButton dateiButton = new JButton("Datei wählen");
		pnlTop.add(dateiButton);

		//Textlabel Schriftart
		JLabel label3 = new JLabel("  Schriftart wählen:");
		pnlTop.add(label3);
		
		//ComboBox für die Schriftarten
		String [] fontStrings = {"Segoe Print", "andere Schriftart"};
		JComboBox fontlist = new JComboBox(fontStrings);
		pnlTop.add(fontlist);
		
		//OK-Button
		JButton button = new JButton("OK");
		button.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				
				eingabeString = textField.getText();
				
				
				try {
					
					final JFrame f = new JFrame("Paint Window");
					Container contentPane = f.getContentPane();
					GUI gui = new GUI(900, 900);
					contentPane.add(gui);
					
					f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

				    f.repaint();
				    
				    f.pack();
					f.setVisible(true);

					f.validate();

					
				} catch (Exception e1) {}			
			}
				
		});
		
		pnlTop.add(button);

		validate();
		repaint();

		
}

	
	public void paint(Graphics g){
		// Graphics Objekt in Graphics 2D Objekt transformieren um damit arbeiten zu können
		Graphics2D g2 = (Graphics2D) g;
		
		//Antialising einstellen
		g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
		
		//Darzustellender String
		//eingabeString
		
		//Neuer Font erstellen
		Font font = new Font("Arial", Font.PLAIN, 80);

		//Letters erzeugen
		for(int i = 0 ; i < eingabeString.length(); i++){
			Letter letter = new Letter(scale, xshift,yshift, eingabeString, i, font);
			letter.paintTo(g2);
		}
	}
}

Danke für eure Hilfe!

LG L0llip0p88
 
S

SlaterB

Gast
du kannst kein GUI-Objekt, also ein JFrame, irgendwo in ein JPanel adden,
adde in ein ein JPanel nur einfache Komponenten wie JButton, JTextArea usw. oder andere JPanel,

bei JPanel kann man gut paintComponent(Graphics g) überschreiben, wobei der erste Befehl dann super.paintComponent(g); sein sollte,
eine paint-Methode ist in Swing überhaupt nie zu überschreiben und bei JFrames gar nichts überschreiben hinsichtlich paint,

puh, soviel falsch in sowenig Code, gar keine Beispiele/ Lehrbücher vorher angeschaut?

Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 17 Grafikprogrammierung
Grundsätzlich ließe sich auch von JFrame eine Unterklasse bilden und paint() überschreiben, doch ist das nicht der übliche Weg. Stattdessen wählen wir einen anderen Ansatz, der sogar unter AWT eine gute Lösung ist. Wir bilden eine eigene Komponente, eine Unterklasse von JPanel [..]
usw.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H 2D-Grafik Problem mit Paint AWT, Swing, JavaFX & SWT 1
frager2345 Warum paintComponent hier und nicht paint AWT, Swing, JavaFX & SWT 2
U Was ist der Unterschied von paint und paincomponent? AWT, Swing, JavaFX & SWT 3
L 2D-Grafik Swing paint|paintComponent AWT, Swing, JavaFX & SWT 2
krgewb 2D-Grafik paint-Methode wird zu oft ausgeführt AWT, Swing, JavaFX & SWT 5
S Zeichen ohne paint-Methode AWT, Swing, JavaFX & SWT 2
J Swing Wann brauche ich @Override vor der paint()-Methode? AWT, Swing, JavaFX & SWT 1
G Eine paint-Methode, 2 Welten? AWT, Swing, JavaFX & SWT 3
H Swing + Paint: Mehrere Objekte zeichnen lassen AWT, Swing, JavaFX & SWT 3
A paint-Methode aufrufen AWT, Swing, JavaFX & SWT 13
Xanny 2D-Grafik Beginner! Probleme mit Swing, Gprahics class und paint AWT, Swing, JavaFX & SWT 13
L Berechnungen in paint AWT, Swing, JavaFX & SWT 8
S Grafik: Programm kommt nicht zur paint()-Methode AWT, Swing, JavaFX & SWT 6
W Paint-Methode in anderer Klasse funktioniert nicht AWT, Swing, JavaFX & SWT 7
S 2 Paint-Methoden in einer Klasse ? AWT, Swing, JavaFX & SWT 2
J zwei Paint methoden in einer Klasse AWT, Swing, JavaFX & SWT 3
P Paint und paintComponent AWT, Swing, JavaFX & SWT 12
F 2D-Grafik Was ruft die Paint - Methode auf ? AWT, Swing, JavaFX & SWT 2
S JButton u. Label auf paint-Methode AWT, Swing, JavaFX & SWT 1
S 2 paint-Methoden in einer Klasse ? AWT, Swing, JavaFX & SWT 2
S Paint Methode ohne implements JPanel AWT, Swing, JavaFX & SWT 1
S Farbe ändern bei der paint-Methode AWT, Swing, JavaFX & SWT 5
J ActionListener soll auf paint() Methode zugreifen AWT, Swing, JavaFX & SWT 1
J Problem mit der paint Methode AWT, Swing, JavaFX & SWT 0
Junb 2D-Grafik paint() Methode bugt? AWT, Swing, JavaFX & SWT 2
C JFrame paint ohne hintergrund nutzen AWT, Swing, JavaFX & SWT 6
I Paint-Methode von nicht statischen Objekten aufrufen AWT, Swing, JavaFX & SWT 3
A Swing Paint mit Button Clear den Hintergrund säubern um wieder zeichnen zu können AWT, Swing, JavaFX & SWT 2
K 2D-Grafik Paint - Wie binde ich repaint ein? AWT, Swing, JavaFX & SWT 8
D JSlider "laggt" nach überschreiben der paint methode AWT, Swing, JavaFX & SWT 2
S paint() verzögern AWT, Swing, JavaFX & SWT 9
K AWT begrenzte anzahl paint aufrufe AWT, Swing, JavaFX & SWT 6
B Infolabel Probleme mit Paint() ? AWT, Swing, JavaFX & SWT 8
L AWT paint mit ArrayList und Iterator AWT, Swing, JavaFX & SWT 3
Furtano AWT paint braucht ein Graphics Objekt ? AWT, Swing, JavaFX & SWT 2
L Swing 64bit Problem mit paint/paintComponent AWT, Swing, JavaFX & SWT 7
A Paint Methode externer auruf AWT, Swing, JavaFX & SWT 5
T JFrame und paint() AWT, Swing, JavaFX & SWT 5
B Ablauf der paint-Methoden von JComponents AWT, Swing, JavaFX & SWT 20
J AWT Methode paint() AWT, Swing, JavaFX & SWT 4
F 2D-Grafik Hostkomponentengröße in paint AWT, Swing, JavaFX & SWT 2
L JFrame an Paint-Inhalt anpassen AWT, Swing, JavaFX & SWT 6
E Warum übermalt paint das ganze Fenster? AWT, Swing, JavaFX & SWT 15
X Bild via FileChooser in paint-Methode laden AWT, Swing, JavaFX & SWT 2
T paint() wird nicht aufgerufen AWT, Swing, JavaFX & SWT 8
M JMenuBar im Applet und paint AWT, Swing, JavaFX & SWT 9
G paint-Methode kopiert GUI AWT, Swing, JavaFX & SWT 14
H paint überlappend AWT, Swing, JavaFX & SWT 5
E paint AWT, Swing, JavaFX & SWT 3
H Swing paint() von JPanel wird nicht aufgerufen AWT, Swing, JavaFX & SWT 10
S JCheckBox Paint AWT, Swing, JavaFX & SWT 7
F AWT Probleme mit der paint() methode AWT, Swing, JavaFX & SWT 2
C Unterschiedlicher Aufruf der paint() Methode ? (AWT/Swing) AWT, Swing, JavaFX & SWT 2
L Problem mit paint Methode und Bild AWT, Swing, JavaFX & SWT 7
F Swing Paint mit Canvas Element AWT, Swing, JavaFX & SWT 35
K AWT paint wird nicht aufgerufen AWT, Swing, JavaFX & SWT 7
R LayoutManager Image Paint + Text Panel AWT, Swing, JavaFX & SWT 10
F paint-Methode des JComboboxEditorComponent AWT, Swing, JavaFX & SWT 2
S Threads in einen Frame zeichnen lassen (Paint()?!) AWT, Swing, JavaFX & SWT 5
radiac Swing JFrame - paint(g) - FrameObjects bei activeRendering AWT, Swing, JavaFX & SWT 3
I AWT paint() in MouseEvent aufrufen klappt nicht AWT, Swing, JavaFX & SWT 8
T paint() wird zweimal ausgeführt AWT, Swing, JavaFX & SWT 6
hdi Swing JLabel & paint-Methode gemixt - wie schlimm wirklich? AWT, Swing, JavaFX & SWT 5
N Paint methode anhalten und neustarten AWT, Swing, JavaFX & SWT 5
H AWT Wann ist paint() fertig? AWT, Swing, JavaFX & SWT 7
R [gelöst]Fenster schließen - trotz Endlosschleife in der Paint-Methode? AWT, Swing, JavaFX & SWT 3
W Steuerelemente und paint() in einem JPanel AWT, Swing, JavaFX & SWT 3
M Allgemeines zur paint Methode AWT, Swing, JavaFX & SWT 5
M AWT Component/Canvas erzeugt unerwünschten Rahmen bei paint AWT, Swing, JavaFX & SWT 3
T Dialog ohne Frame, direktes paint in graphics AWT, Swing, JavaFX & SWT 5
G Probleme mit repaint / paint AWT, Swing, JavaFX & SWT 6
A paint()-Methode für Videoexport nutzen AWT, Swing, JavaFX & SWT 2
K repaint() ruft paint() nicht auf AWT, Swing, JavaFX & SWT 14
J Canvas / paint() AWT, Swing, JavaFX & SWT 2
bugmenot paint() verzögert ausgeführt? AWT, Swing, JavaFX & SWT 4
S paint() in anderen Methoden AWT, Swing, JavaFX & SWT 5
J getFontMetrics außerhalb von paint(Graphics g) AWT, Swing, JavaFX & SWT 8
D Paint() Methode aus einer anderen Klasse aufrufen AWT, Swing, JavaFX & SWT 6
H paint verwenden AWT, Swing, JavaFX & SWT 3
S java.awt.Component und paint() AWT, Swing, JavaFX & SWT 4
A Paint funktioniert nicht richtig AWT, Swing, JavaFX & SWT 7
L Dynamisches Ändern der Größe in JPanel mit paint()-Methode AWT, Swing, JavaFX & SWT 8
G JScrollPane mit "paint" scrollt nicht AWT, Swing, JavaFX & SWT 2
C paint-Methode überschreiben AWT, Swing, JavaFX & SWT 19
hdi meine paint-methode macht faxen? AWT, Swing, JavaFX & SWT 21
T Variable Menge an Bildern außerhalb paint() zeichnen? AWT, Swing, JavaFX & SWT 2
G Paint und Buttons AWT, Swing, JavaFX & SWT 8
G JFrame JPanel und Paint(Image)? AWT, Swing, JavaFX & SWT 6
S Programm aufgrund von paint() zu langsam AWT, Swing, JavaFX & SWT 18
G paint() wird aufgerufen, aber nicht angezeigt AWT, Swing, JavaFX & SWT 10
G 2x Graphics in einer paint() miteinander verbinden AWT, Swing, JavaFX & SWT 11
M Probleme mit paint() aus JFrame AWT, Swing, JavaFX & SWT 2
G paint() Methode aus anderer klasse aufrufen? AWT, Swing, JavaFX & SWT 6
G Frage zum paint Prozess AWT, Swing, JavaFX & SWT 3
D JPanel und Paint AWT, Swing, JavaFX & SWT 2
B Gui und Zeichnen (paint ? ) AWT, Swing, JavaFX & SWT 4
L Anzeigen von fotos: ImageIcon oder BufferedImage + paint() ? AWT, Swing, JavaFX & SWT 5
G Frage zur paint-Methode (AWT) AWT, Swing, JavaFX & SWT 9
B Button anzeigen bei überschrieber paint() AWT, Swing, JavaFX & SWT 12
N paint Methode im JFrame AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben