Hallo Leute,
ich komme nicht weiter ...
Ich bin dabei ein Programm zu schreiben bei dem der User seinen eigenen Stammbaum anlegen kann. Ich will nun eine Minimap für dieses Programm schreiben. Das ganze funktioniert prinzipiell so, das auf einem 5000x5000 Pixel großen JPanel die vom User zuvor angelegten Personen hinzugefügt werden können. Dort können Sie beliebig verschoben werden. Wenn dann das Programm eine Mutter oder Vater Beziehung erkennt werden die Personen automatisch mit Linien verbunden.
Nun will ich das Navigieren leichter machen und den JPanel auf der rechten Seite in einer Minimap darstellen. Meine Idee dabei war eigentlich das ganze ähnlich wie bei einem png-Export zu schreiben den ich auch schon dafür implementiert habe. Das heißt ich will ein Bild des JPanels machen auf dem die ganzen Personen in Form des Stammbaums zu sehen sind, will dieses Bild per
verkleinern und dann auf ein MiniMap JPanel zeichen. Nur leider zeichnet er nicht. Der Code sieht folgendermaßen aus:
Ich kriege keinerlei Fehler und weiß nicht woran es liegt ... könnt ihr mir helfen??
Danke ^^
ich komme nicht weiter ...
Ich bin dabei ein Programm zu schreiben bei dem der User seinen eigenen Stammbaum anlegen kann. Ich will nun eine Minimap für dieses Programm schreiben. Das ganze funktioniert prinzipiell so, das auf einem 5000x5000 Pixel großen JPanel die vom User zuvor angelegten Personen hinzugefügt werden können. Dort können Sie beliebig verschoben werden. Wenn dann das Programm eine Mutter oder Vater Beziehung erkennt werden die Personen automatisch mit Linien verbunden.
Nun will ich das Navigieren leichter machen und den JPanel auf der rechten Seite in einer Minimap darstellen. Meine Idee dabei war eigentlich das ganze ähnlich wie bei einem png-Export zu schreiben den ich auch schon dafür implementiert habe. Das heißt ich will ein Bild des JPanels machen auf dem die ganzen Personen in Form des Stammbaums zu sehen sind, will dieses Bild per
Java:
Image.getScaledInstance();
Java:
package core;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;
import javax.swing.JPanel;
public class MiniMap extends JPanel
{
BufferedImage img;
Image scaled;
int width, height;
public MiniMap(WorkPanel p, int w, int h)
{
this.setPreferredSize(new Dimension(200,200));
width = w;
height = h;
img = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
Graphics g = img.getGraphics();
g.fillRect(0,0,img.getWidth(),img.getHeight());
p.paint(g);
scaled = img.getScaledInstance(width/25,height/25, Image.SCALE_SMOOTH);
this.repaint();
this.setVisible(true);
}
@Override
public void paint(Graphics g)
{
super.paint(g);
g.drawImage(scaled,0,0,200,0,200,200,0,200,null);
}
}
Ich kriege keinerlei Fehler und weiß nicht woran es liegt ... könnt ihr mir helfen??
Danke ^^