G
Guest
Gast
Hallo Leute,
Ich steck jetzt seit längerer Zeit in folgendem Problem fest:
Ich würde gerne eine Klasse schreiben, mitder ich auf einem JFrame zeichnen kann.
Schön und gut soweit hab ich das geschafft. Jetzt will ich aber nicht nur eine Sache zeichnen sondern die Klasse nutzen um alles darstellen zu können was ich benötige, wären ungefähr 10 einzelne " paint()" Funktionen die ich aufrufen müsste.
wie mach ich das, dass ich zusätzliche Funktionen in der Klasse anlegen kann die ebenfalls auf das JFrame zeichnen können? (Geht das auch von anderen Klassen aus)
(Ich bin noch totaler Anfänger also bitte ausführlich erklären und es wär nett wenn ihr mir ein Beispiel für eine weitere "paint()" Funktion zu dem Quelltext dazu schreiben könntet und mir auch erklärt wie ich die dann vom Hauptprogramm aufruf.
Danke schonmal
Viele Grüße
Florian
Ich steck jetzt seit längerer Zeit in folgendem Problem fest:
Ich würde gerne eine Klasse schreiben, mitder ich auf einem JFrame zeichnen kann.
Schön und gut soweit hab ich das geschafft. Jetzt will ich aber nicht nur eine Sache zeichnen sondern die Klasse nutzen um alles darstellen zu können was ich benötige, wären ungefähr 10 einzelne " paint()" Funktionen die ich aufrufen müsste.
wie mach ich das, dass ich zusätzliche Funktionen in der Klasse anlegen kann die ebenfalls auf das JFrame zeichnen können? (Geht das auch von anderen Klassen aus)
(Ich bin noch totaler Anfänger also bitte ausführlich erklären und es wär nett wenn ihr mir ein Beispiel für eine weitere "paint()" Funktion zu dem Quelltext dazu schreiben könntet und mir auch erklärt wie ich die dann vom Hauptprogramm aufruf.
Danke schonmal
Viele Grüße
Florian
Code:
package schiffeversenken;
import javax.swing.*;
import java.awt.Graphics;
import java.awt.*;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.*;
public class zeichneWelt extends JPanel {
private JFrame Jframe;
Graphics g;
Toolkit kit = Toolkit.getDefaultToolkit();
String title = "master.jpg";
Image hintergrundbild = kit.getImage(title);
BufferedImage bild;
protected void paintComponent(Graphics g)
{
super.paintComponent(g);
System.out.println("paintComponent1");
g.drawImage(bild,0,20,this);
System.out.println("x: "+bild.getWidth(this));
}
public zeichneWelt(){
System.out.println("Konstruktor");
try{
bild = ImageIO.read(new File(title));
}catch(IOException ioe){
ioe.printStackTrace();
}
}
public static void main() {
//String []args
JFrame f = new JFrame();
f.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE);
f.setSize(500, 700);
f.setContentPane(new zeichneWelt() );
f.setVisible(true);
}
}