Bild auf JApplet zeichnen

2.OhneNamen

Mitglied
Ich versuche seit Stunden mit verschiedensten Ansätzen ein Bild auf ein JApplet zu zeichnen, mittels Label ist das ja einfach, aber ich hätte es gerne mit der paint oder paintcomponent
[Java]
import java.applet.*;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.MediaTracker;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

public class Nightbegins extends JPanel {

private static Icon[] Blau = {new ImageIcon("C:/Users/Manfred/Desktop/2.png")};
private static int b = 0;
private static int c = 0;



public static void main(String[] args)
{

run ();

}

public static void run () {
final int d = 0;

final JFrame meinFenster = new JFrame("N");
meinFenster.setTitle("JScrollPane Beispiel");
meinFenster.setSize(500,500);
meinFenster.setLocationRelativeTo(null);
meinFenster.setTitle("ShutTheWar EVOLUTION");
meinFenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JLabel bild = new JLabel(Blau );
bild.setBounds(250,250,10,10);

final Applet BildFenster = new Applet();
BildFenster.setBounds(0, 0, 10000, 10000);

JButton knopf = new JButton ("2");
knopf.setBounds(0, 0, 200, 50);
JButton knopf2 = new JButton ("1");
knopf2.setBounds(200, 0, 200, 50);
knopf.addActionListener(new ActionListener(){

public void actionPerformed(final ActionEvent e) {
int a = (int) (Math.random()*4+1);
if (a==1) {

}
else {
if (a==2){

}
else {
if (a==3){

}
else {

}
}
}
}
});



final JPanel panel = new JPanel();
panel.setBackground(Color.WHITE); panel.setLayout(null);
int v=ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS;
int h=ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS;
panel.setPreferredSize(new Dimension(10000, 10000 ));

JScrollPane scrollPane = new JScrollPane (panel,
v,
h);
knopf2.addActionListener(new ActionListener(){
public void actionPerformed(final ActionEvent e) {
int x = (int) (Math.random()*50+1);
int y = (int) (Math.random()*50+1);
int c = 1 + d;
int d = c;




}
});
BildFenster.add(new Zeichne());

panel.add(bild);
panel.add(knopf);
panel.add(knopf2);
panel.add(BildFenster);
meinFenster.setVisible(true);
meinFenster.getContentPane().add(scrollPane);


}
}

class Zeichne extends JApplet{
ImageIcon Gelb;
Image img1;
Image das;
Dimension Dimension;
MediaTracker TR = new MediaTracker (this);


public void paint(Graphics g){

Graphics2D g2 = (Graphics2D) g;

MediaTracker TR = new MediaTracker (this);
TR.addImage(das,0);
das = getImage(getCodeBase(), "f1.jpg");
setBounds(100, 100, 100, 100);
g.drawImage(img1, 200, 200, 200, 200, this);
repaint();

}
}
[/code]
Das ganze soll später einmal mehr werden, deswegen die scrollpane
 

Volvagia

Top Contributor
Nein. Du fügst das JApplet dem Applet hinzu, das Applet aber nirgends. Keine Ahnung was du vorhast, aber wiederspricht das Hinzufügen eines Applets auf ein Fenster nicht dem Sinn eines Applets?
 

Michael...

Top Contributor
Ich habe das applet ja dem panel hinzugefügt ? Wo muss ich das hinzufügen?
Du verwurschelst hier einges. Entweder man entwickelt ein Applet (welches im Browser läuft) oder ein Applikation (z.B. in einem JFrame). Aber man steckt kein JApplet in einen JFrame oder eine seiner Komponenten.

Dann überschreibt man nach Möglichkeit weder die paint(Graphics) von JApplet oder JFrame. Sondern man erbst z.B. von JPanel und überschreibt dessen paintComponent(Graphics). Hierin lädt man auch keine Bilder (diese lädt man einmalig ausserhalb) sondern sieht zu dass der Code in der paint... möglichst schnell abgearbeitet werden kann.
Und schon gar nicht ruft man in der paint
Code:
repaint()
auf!
 

Volvagia

Top Contributor
Warum?
Das funktioniert doch super.

Java:
package org.javaforum;

import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.image.BufferedImage;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class PaintExample {
	public static void main(String[] args) {
		final BufferedImage img = createBufferedImage();
		
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				buildGui(img);				
			}
		});
	}
	private static void buildGui(final BufferedImage image) {
		JFrame frame = new JFrame();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		frame.add(new JPanel() {
			protected void paintComponent(Graphics g) {
				super.paintComponent(g);
				g.drawImage(image, 0, 0, null);
			}
		});
		
		frame.setSize(200, 200);
		frame.setVisible(true);
	}

	private static BufferedImage createBufferedImage() {
		BufferedImage img = new BufferedImage(100, 100, BufferedImage.TYPE_INT_ARGB);
		Graphics g = img.getGraphics();
		g.setColor(Color.BLACK);
		g.drawOval(0, 0, img.getWidth(), img.getHeight());
		g.drawLine(30, 10, 30, 30);
		g.drawLine(69, 10, 69, 30);
		g.drawLine(10, 55, 90, 55);
		g.dispose();
		return(img);
	}
}
 

2.OhneNamen

Mitglied
Warum?
Das funktioniert doch super.

Java:
package org.javaforum;

import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.image.BufferedImage;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class PaintExample {
	public static void main(String[] args) {
		final BufferedImage img = createBufferedImage();
		
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				buildGui(img);				
			}
		});
	}
	private static void buildGui(final BufferedImage image) {
		JFrame frame = new JFrame();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		frame.add(new JPanel() {
			protected void paintComponent(Graphics g) {
				super.paintComponent(g);
				g.drawImage(image, 0, 0, null);
			}
		});
		
		frame.setSize(200, 200);
		frame.setVisible(true);
	}

	private static BufferedImage createBufferedImage() {
		BufferedImage img = new BufferedImage(100, 100, BufferedImage.TYPE_INT_ARGB);
		Graphics g = img.getGraphics();
		g.setColor(Color.BLACK);
		g.drawOval(0, 0, img.getWidth(), img.getHeight());
		g.drawLine(30, 10, 30, 30);
		g.drawLine(69, 10, 69, 30);
		g.drawLine(10, 55, 90, 55);
		g.dispose();
		return(img);
	}
}

ich werde eine zeit lang brauchen um das zu verstehen, aber so könnte ich das irgendwie zum funktionieren bringen.
danke
 

2.OhneNamen

Mitglied
Ich weiß wirklich nichtmehr was ich noch alles ausprobieren soll
das Applet habe ich jetzt weggelassen, zeichnen soll am Panel auch möglich sein aber es funktioniert nichts was ich ausprobiere
Eine antwort mit einer veränderten Version meines Bsp wäre sehr nett, hier nochmal wie ich es jetzt habe :
Java:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.MediaTracker; 
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import java.awt.Toolkit;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
        
public class Nightbegins extends JPanel {
    
    private static Icon[] Blau = {new ImageIcon("C:/Users/Manfred/Desktop/2.png")};    
    private static int b = 0;
    private static int c = 0;
    
 

    public static void main(String[] args)
    {
        
     run ();   

    }
    
    public static void run () {
         
        final JFrame meinFenster = new JFrame("N");
        meinFenster.setTitle("JScrollPane Beispiel");
        meinFenster.setSize(500,500);
        meinFenster.setLocationRelativeTo(null);
        meinFenster.setTitle("ShutTheWar EVOLUTION");
        meinFenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   
        final JLabel bild = new JLabel(Blau [b]);
        bild.setBounds(250,250,10,10); 
              
        final JPanel panel = new JPanel();
        panel.setBackground(Color.WHITE);  panel.setLayout(null);
        int v=ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS; 
        int h=ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS; 
        panel.setPreferredSize(new Dimension(10000, 10000 ));
      
        JScrollPane scrollPane = new JScrollPane (panel, 
            v,
            h);   
            
        panel.add(new Zeichne());
        panel.add(bild);
        meinFenster.setVisible(true);
        meinFenster.getContentPane().add(scrollPane);
    
        
        }
    }
    

    class Zeichne extends JPanel{
        
                Image das;
                MediaTracker TR = new MediaTracker (this);
                 
         public void init() {

                 TR.addImage(das,0);
                 das = Toolkit.getDefaultToolkit().getImage("f1.jpg");
                 setBounds(100, 100, 100, 100);
                }

        public void paintComponent(Graphics g){
            super.paintComponent(g);
                 g.drawImage(das, 200, 200, 200, 200, this);
     
       }
}
 
Zuletzt bearbeitet:

Michael...

Top Contributor
mein Post oben ist jetzt gekürzt, das meiste hier unnötige draußen
Sicher?
Java:
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.UIManager;


public class SimpleDraw {
	public static void main(String[] s) {
		new SimpleDraw();
	}
	
	public SimpleDraw() {
		JFrame frame = new JFrame();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setBounds(0, 0, 200, 200);
		frame.add(new DrawingPanel());
		frame.setVisible(true);
	}
	
	class DrawingPanel extends JPanel {
		private Image img;
		
		public DrawingPanel() {
			this.setBackground(Color.WHITE);
			// zu Demozwecken einfach ein System Icon geladen
			img =  ((ImageIcon)UIManager.getIcon("OptionPane.informationIcon")).getImage();
		}
		
		public void paintComponent(Graphics g) {
			super.paintComponent(g);
			if (img!=null)
				g.drawImage(img, 10, 10, null);
		}
	}
}
 

2.OhneNamen

Mitglied
Jetzt funkioniert es bei mir, danke.
Aber eine Frage habe ich noch, wieso wird das Bild bei
Java:
frame.add(new Zeichne());
angezeigt und bei
Java:
panel.add(new Zeichne());
nicht?
 

Volvagia

Top Contributor
Vorm hinzufügen.
Das musst du doch bei jedem Komponenten der auf einen Null-Layout-Parent sitzt machen. Das JFrame hat das BorderLayout, das streckt den Mittelteil einfach über das gesamte ContentPane, falls keine Seitenteile hinzugefügt wurden.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
V Bild per Java Script austauschen Java Basics - Anfänger-Themen 7
I Bild richtig speichern / Hochkant im File Explorer, nach Upload vertikal Java Basics - Anfänger-Themen 9
B Bild per KeyListener drehen Java Basics - Anfänger-Themen 1
I Kamera anschließen / Bild machen / Live View / Externe Blitz Java Basics - Anfänger-Themen 19
I Innerhalb einem Bild ein Teil austauschen Java Basics - Anfänger-Themen 26
I Datei (Bild) Drucken und wie Druckeinstellung speichern? Java Basics - Anfänger-Themen 3
krgewb byte-Array, das ein Bild repräsentiert Java Basics - Anfänger-Themen 1
H Artefact mit Bild erzeugen Java Basics - Anfänger-Themen 11
R UML-Bild (Erkennung ob static o. nicht) Java Basics - Anfänger-Themen 18
J Bild auf Hintergrundbild zeichnen Java Basics - Anfänger-Themen 5
krgewb Bild itextpdf Java Basics - Anfänger-Themen 2
C Bild in executable JAR File mitgeben Java Basics - Anfänger-Themen 5
VPChief Bild in JEditorPane Java Basics - Anfänger-Themen 9
B Warum bekomme ich kein Bild. Java Basics - Anfänger-Themen 10
S Bild einfügen // NEU Java Basics - Anfänger-Themen 12
N Bild drehen Java Basics - Anfänger-Themen 3
S Ein Bild mit dynamischer Quelle neuzeichnen Java Basics - Anfänger-Themen 12
N GLOOP Bild nicht ansichtbar Java Basics - Anfänger-Themen 5
M Bild in JFrame Java Basics - Anfänger-Themen 1
B Signatur erstellen - Bild ist nur weiß Java Basics - Anfänger-Themen 0
CptK Interface Bild rotieren Java Basics - Anfänger-Themen 17
CptK Interface Bild rotieren Java Basics - Anfänger-Themen 1
Anica Processing Animation Bild-Position ändern Java Basics - Anfänger-Themen 9
CptK Interface Bild über Methode ändern funktioniert nicht Java Basics - Anfänger-Themen 4
CptK Interface Curser durch Bild ersetzen & MouseListner Java Basics - Anfänger-Themen 2
M jTextPane Bild anzeigen Java Basics - Anfänger-Themen 6
CptK Bild beim betätigen eines JButtons Java Basics - Anfänger-Themen 6
S Bild über JButton legen Java Basics - Anfänger-Themen 3
B Bild mit Schrift befüllen / Anpassung bei Wortlänge Java Basics - Anfänger-Themen 2
D Google maps bild mit marker versehen Java Basics - Anfänger-Themen 12
D ImageView mit einfarbigem Bild fuellen Java Basics - Anfänger-Themen 3
it_is_all Bild-Pfad wird gefunden, nicht aber Textdatei-Pfad Java Basics - Anfänger-Themen 8
M Einzelne Pixel in einem Bild auslesen und bearbeiten Java Basics - Anfänger-Themen 1
M Bild wird von JFrame nicht geladen Java Basics - Anfänger-Themen 12
J Bild in Button einsetzen Java Basics - Anfänger-Themen 6
S button kommt durch bild Java Basics - Anfänger-Themen 13
M Ein Bild durch Objekterzeugung zeichnen Java Basics - Anfänger-Themen 5
B Greenscreen (grüner Hintergrund ersetzen mit Bild) Java Basics - Anfänger-Themen 49
K Interface Kein Bild im .jar-File Java Basics - Anfänger-Themen 15
S Bild in Jar-File mit ImageIO Java Basics - Anfänger-Themen 50
S Bild einfügen Java Basics - Anfänger-Themen 16
binop Bild anzeigen lassen Java Basics - Anfänger-Themen 2
D Bild zu Text Java Basics - Anfänger-Themen 4
I HTML Code in Bild (transparent) konvertieren Java Basics - Anfänger-Themen 0
I Watermark erstellen mit HTML in Bild? Java Basics - Anfänger-Themen 7
D Classpath Bild kann in .jar nicht geladen werden Java Basics - Anfänger-Themen 2
Anfänger2011 Bild programmieren?! Java Basics - Anfänger-Themen 3
8 Eigenes Bild in email einfügen Java Basics - Anfänger-Themen 1
K JTable Bild einfügen Java Basics - Anfänger-Themen 1
L BufferdImage schwarzes Bild nach zusammenfügen zweier Bilder Java Basics - Anfänger-Themen 8
S Bild in JOptionPane Java Basics - Anfänger-Themen 1
C Abfrage nach einem Bild im Array Java Basics - Anfänger-Themen 9
J Umgebungsvariable Programmfenster zeigt kein Bild an Java Basics - Anfänger-Themen 1
J Bild loopen Java Basics - Anfänger-Themen 6
M JFrame Bild einfügen Java Basics - Anfänger-Themen 3
S Bild bei Kontakt ändern Java Basics - Anfänger-Themen 2
C Erste Schritte Bild holen und speichern Java Basics - Anfänger-Themen 1
D Bild in Frame einfügen Java Basics - Anfänger-Themen 11
D Bild im Applet anzeigen Java Basics - Anfänger-Themen 3
F Bild in ein Runnable Jar File packen (eclipse) Java Basics - Anfänger-Themen 2
M Java-Applet: Bild einbinden (getImage) Java Basics - Anfänger-Themen 0
J Ganzes Bild Java Basics - Anfänger-Themen 4
T GUI anstatt Bild schwarzes Rechteck gespeichert Java Basics - Anfänger-Themen 0
A Bild verschwindet! Wieso?? Java Basics - Anfänger-Themen 2
I Bild aus Bereich laden Java Basics - Anfänger-Themen 3
P Bild in JFrame Titelleiste Java Basics - Anfänger-Themen 7
Y Nach Bild-Upload wird Bild nicht angezeigt Java Basics - Anfänger-Themen 1
M Button mit Bild und Text Java Basics - Anfänger-Themen 2
M JSP-Einfaches Bild anzeigen Java Basics - Anfänger-Themen 4
C Bild ins Frame laden und Objekte drüber legen Java Basics - Anfänger-Themen 1
Sogomn Bild will sich nicht skalieren lassen Java Basics - Anfänger-Themen 1
P Ein Bild für GUI (Java-Editor) Java Basics - Anfänger-Themen 4
D Bild für ein paar Sekunden einblenden und wieder ausblenden Java Basics - Anfänger-Themen 1
E Bild per Verzeichnis/JFileChooser auf JPanel laden Java Basics - Anfänger-Themen 13
S Bild auf eine Position rotieren?! Java Basics - Anfänger-Themen 4
P Bild bearbeiten Java Basics - Anfänger-Themen 9
Z Datenmatrix in Bild verwandeln Java Basics - Anfänger-Themen 4
C Bild verschwinden lassen Java Basics - Anfänger-Themen 7
S Bild Icon aus ID3Tag auslesen Java Basics - Anfänger-Themen 4
E Bild vom FileChooser aus via ImageIcon in DB schreiben Java Basics - Anfänger-Themen 16
D Bild zum Panel hinzufügen Java Basics - Anfänger-Themen 8
C Greenfoot: Bei Tastendruck und best. Wert Bild ändern Java Basics - Anfänger-Themen 2
O Auflösung einer Bild-Datei bekommen ohne sie herunterzuladen?? Java Basics - Anfänger-Themen 7
L Bild-Datein "zuschneiden" Java Basics - Anfänger-Themen 11
O DeviantArt-Bild Konverter: Fehler.. Java Basics - Anfänger-Themen 16
K Transparents Bild laden -> Fehlermeldung Java Basics - Anfänger-Themen 6
M Bild einbinden Java Basics - Anfänger-Themen 7
T Bild laden Java Basics - Anfänger-Themen 7
R Bild in GUI Java Basics - Anfänger-Themen 11
D Eclipse Juno zeigt Bild nicht bei Run Java Basics - Anfänger-Themen 3
Kenan89 Bild mit jar öffnen Java Basics - Anfänger-Themen 4
S Problem bei Bewegung von einem Bild! Java Basics - Anfänger-Themen 2
J Bild mit transparenter Farbe Java Basics - Anfänger-Themen 10
N Erste Schritte Applet zeichnet Bild nicht Java Basics - Anfänger-Themen 10
J Bild auf JLabel wird nicht angezeigt Java Basics - Anfänger-Themen 11
J Bild einfügen Java Basics - Anfänger-Themen 3
T ASCII Art von Bild erstellen. Java Basics - Anfänger-Themen 32
E Bild OS-unabhängig einbinden mit URL Java Basics - Anfänger-Themen 4
A BufferedImage in Android einbinden - Bild spiegeln -wie? Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben