Freies zeichnen auf JPanel

Lev

Neues Mitglied
Hi zusammen,

Ich habe ein kleines Problem mit dem Design von einem GUI.

Ich habe ein JFrame auf welches ich zwei fixe Panel lege. Auf eins der beiden Panel soll ein weiteres
Panel gelegt werden, auf welchem ich frei zeichnen kann. Allerdings werden die Components darauf nicht angezeigt. Ist dies überhaupt Möglich?

Der Code sieht in etwa wie folgt aus:

Java:
JFrame frame = new JFrame();
frame.setLayout(null); //Damit ich die Panels fest platzieren kann

JPanel input = new JPanel();
input.setLayout(null);
input.setBounds(blabla);

JPanel miniMap = new JPanel();
miniMap.setLayout(null);
miniMap.setBounds(blabla);

JPanel map = new JPanel();
map.setBounds(blabla);

map.add(new MapComponent()); // Die Klasse funktioniert wenn ich es direkt auf das JFrame lege ohne Layout(null)
Die Panels müssen zwingend mit einer festen Grösse gesetzt werden, damit der Massstab stimmt.
Gibt es eine Möglichkeit dies so zu machen oder bin ich auf dem falschen Weg?


Grüsse

Lev
 
ist möglicherweise möglich



(verstecke Botschaft: du hast weder allen relevanten Code gepostet noch sonst ausreichend hilfreiche Informationen
außer vage Andeutungen von Vorhaben)
 
Hallo,

Vielleicht hilft dir ja die Insel weiter:

Galileo Computing :: Java ist auch eine Insel – 20.2 Einfache Zeichenmethoden

Das Grundprinzip ist, dass man bei der Erstellung des Panels die Klasse von JPanel erben lässt. Dann muss man noch die Methode "paintComponent" überschreiben und mit seinem Inhalt, den Linien etc füllen.

Java:
class Panel_zum_zeichnen extends JPanel
{
 @Override protected void paintComponent( Graphics g )
....
 

Zurück
Oben