Swing Componente über Rahmen hinaus zeichnen

phouli89

Mitglied
Hallo, ich habe ein kleines Großes Problem mit der Darstellung von Swing componenten. Das Projekt ist ein grafischer Templateeditor. Die Basis zur Darstellung ist ein JLayeredPane, auf diesem werden in JInternalFrame gekapselte JComponent hinzugefügt (der JInternalFrame dient zur Scalierung und Bewegungmitteld Maus). Der Editor gibt das Template in XML-Form aus und kann diese auch wieder einlesen (Position, größe, farbe usw.).

Das Problem:
Es soll eine neue Funktion geben, welche es ermöglicht ein Template in dem Haupttemplate zu integrieren, meine erste Idee war natürlich einfach ein neues JLayered Pane auf dem Basis JLayered Pane zuerstellen. Das Problem ist allerdings dass die Objekte auf dem kleineren Template auch negative Koordinaten haben können, wenn Beispielsweise die X-Position -50 ist dann würde z.b. ein JLabel nicht ganz dargestellt da alles was über die Bounds geht nicht dargestellt werden kann. Meine Frage wäre nun ob es eine Möglichkeit gibt eine solche Funktion (auch mit anderen Swing Componenten) zu realisieren.
Es geht eigentlich auch nur um die X-Achse, Y Positionen immer positiv, vieleicht könnte man das JLayeredPane oder was immer am besten wäre auf voller X-Länge des Editors darstellen und mit irgendwelchen begrenzungen oder Offsets arbeiten, vieleicht hat jemand eine Idee.


Ich habe mal eine kleine Grafik zu der Situation erstellt zum besseren Verständnis:
attachment.php


Vielen Dank
 

Anhänge

  • editor_example.gif
    editor_example.gif
    8,7 KB · Aufrufe: 32
Zuletzt bearbeitet von einem Moderator:

thE_29

Top Contributor
Du könntest die Methode getLocation überschreiben und zuerst die super Methode aufrufen, kommt da was negatives zurück, müsstest das halt abändern..

Eventuell muss man dann auch getWidth und getHeight anpassen...
 

phouli89

Mitglied
Danke ich denke das würde auch funktionieren, allerdings bin ich gerade auf eine brauchbare Methode gestoßen. Ich habe für das kleiner Template auch ein JLayeredPane verwendet, somit kann ich alle funktionen weiterhin benutzen. Dieses JLayeredPane ist genause breit wie die Basis-Editoroberfläche. Danach habe ich eine CompoundBorder verwendet, die kannt ich noch gar nicht, durch dese kann ich zei borders verwenden. Als äußere Border verwende ich eine EmptyBorder und setze die Insets je nachdem wie groß die kleine Editorfläche sein soll und als Innere eine LineBorder. Wenn ich nun auf diesem JLayeredPane was hinzufüge und nachher die Coordinaten abfragen will, dann kann ich mit kleinerEditor.getInsets().LEFT oder (Top, Right, Bottom) die Insets abfragen und abziehen. Ich bin erleichtert.
Aber trotzdem vielen Dank für deinen Vorschlag, ich denke den werde ich trotzdem noch implementieren um das handling zu verbessern.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Funktion nur ausführen, wenn Maus über Componente ist AWT, Swing, JavaFX & SWT 2
H Swing Componente zur Läufzeit ändern AWT, Swing, JavaFX & SWT 3
B Graphics2D Componente Drehen AWT, Swing, JavaFX & SWT 2
C Componente in Container (inkl. "Untercontainer") suchen und zurückgeben AWT, Swing, JavaFX & SWT 3
N Componente und Actionlistener AWT, Swing, JavaFX & SWT 5
M Swing Image in JPanel als Componente AWT, Swing, JavaFX & SWT 2
J Swing JPanel mit Hintergrund zeigt componente nicht AWT, Swing, JavaFX & SWT 6
H Feststellen ob eine Componente sichtbar (im Vordergund) ist? AWT, Swing, JavaFX & SWT 2
J Name von einer Componente AWT, Swing, JavaFX & SWT 3
K Listeners und das Ende einer Componente AWT, Swing, JavaFX & SWT 4
G SWT SWT Componente gesucht AWT, Swing, JavaFX & SWT 2
L Größe einer Componente herausfinden AWT, Swing, JavaFX & SWT 2
R Position einer Componente? AWT, Swing, JavaFX & SWT 9
G Componente Zeile fixieren AWT, Swing, JavaFX & SWT 3
S Componente mehrmals verwenden ? AWT, Swing, JavaFX & SWT 3
P Hinzugefügte Componente ist inaktiv AWT, Swing, JavaFX & SWT 14
ARadauer swing html wysiwyg componente AWT, Swing, JavaFX & SWT 6
S Listener übergeordneter Componente Blockiert AWT, Swing, JavaFX & SWT 6
E JFrame Componente aus einer anderen klasse disposen AWT, Swing, JavaFX & SWT 3
G Farbe der Markierung einer Componente ändern AWT, Swing, JavaFX & SWT 2
O Graphics erstellt Componente scheinbar nicht richtig AWT, Swing, JavaFX & SWT 23
B Vorhandenes Graphicsobjekt auf Componente zeichnen AWT, Swing, JavaFX & SWT 19
S [S] custom tree componente AWT, Swing, JavaFX & SWT 8
B componente drucken AWT, Swing, JavaFX & SWT 3
C Componente verkleinern lasse wenn die Frame verkleinert wird AWT, Swing, JavaFX & SWT 2
G Eigene Componente in jScrollView einbetten AWT, Swing, JavaFX & SWT 6
K property panel und selektion einer componente in panel AWT, Swing, JavaFX & SWT 5
R Componente in JTabbedPane unsichtbar AWT, Swing, JavaFX & SWT 4
I JTextfield senden über Enter AWT, Swing, JavaFX & SWT 1
T Scene wechseln über ManuItem AWT, Swing, JavaFX & SWT 7
I JavaFX - Pane wechseln über 2. Controller AWT, Swing, JavaFX & SWT 5
melaniemueller Layout wechseln über RadioButtons AWT, Swing, JavaFX & SWT 4
melaniemueller Verschiebung eines Fensters über Button AWT, Swing, JavaFX & SWT 27
A Swing ProgressBar über 2 parallel laufende Threads AWT, Swing, JavaFX & SWT 2
A Layoutwechsel über RadioButtons AWT, Swing, JavaFX & SWT 3
CptK windowClosed() nur aufrufen, wenn Fenster nicht über Button geschlossen wird AWT, Swing, JavaFX & SWT 1
missy72 JavaFX Performance / ImageView in TableView über TimeLine AWT, Swing, JavaFX & SWT 1
T TableView über Methode befüllen AWT, Swing, JavaFX & SWT 10
J Spielfelder auch über die Tastatureingabe (1…9) ansteuern (Tic Tac Toe) AWT, Swing, JavaFX & SWT 2
M Eine Datei auf den Apache Server hochladen - über das Menü im JavaProgramm AWT, Swing, JavaFX & SWT 7
C Swing Aufruf der Funktion (die ein Dialog anzeigt) über Symbol anzeigen lassen AWT, Swing, JavaFX & SWT 4
G LayoutManager Panels anordnen über Schleifenvariablen AWT, Swing, JavaFX & SWT 7
F Verzeichnis über GUI erstellen AWT, Swing, JavaFX & SWT 2
T GUI über Tastatur bedienen AWT, Swing, JavaFX & SWT 3
OSchriever Layout über Radiobuttons ändern AWT, Swing, JavaFX & SWT 4
L JavaFX TreeView Edit Mode über F2 AWT, Swing, JavaFX & SWT 13
J Schriftart über einen Button ändern AWT, Swing, JavaFX & SWT 1
CptK Swing DropdownMenu über Panel-Grenzen hinaus anzeigen AWT, Swing, JavaFX & SWT 1
A 2D-Grafik Zeichen werden über unabhängingen JRadioButton nicht gefüllt AWT, Swing, JavaFX & SWT 28
S JavaFX Fenster aufkommen lassen, wenn mit der Maus über bestimmten Bereich fahren AWT, Swing, JavaFX & SWT 1
I Bild über FXML (ImageView, Image) anzeigen AWT, Swing, JavaFX & SWT 1
xYurisha JLabel Text einer geöffneten Gui über eine andere Klasse ändern! AWT, Swing, JavaFX & SWT 3
S Swing Rechteck über JTable zeichnen (per MouseListener) AWT, Swing, JavaFX & SWT 1
C JavaFX ScrollPane schießt über das Ziel hinaus... AWT, Swing, JavaFX & SWT 1
stroggi Swing Mehrere transparentes Objekte (Grafiken) über einem Bild (JLabel) darstellen AWT, Swing, JavaFX & SWT 4
R Ausgabe über JOptionPane.showMessageDialog funktioniert nicht AWT, Swing, JavaFX & SWT 2
L JavaFX button über andere Klasse ändern AWT, Swing, JavaFX & SWT 7
K über Button andere Java Klasse aufrufen AWT, Swing, JavaFX & SWT 15
T .jar-Datei lässt sich unflexibler ausführen als über die IDE AWT, Swing, JavaFX & SWT 11
C Applet Zeichnen über Button-Click AWT, Swing, JavaFX & SWT 13
L JavaFX Hover Effekt über das Parent Element AWT, Swing, JavaFX & SWT 4
C JavaFX GUI - Entscheidung über Framework AWT, Swing, JavaFX & SWT 4
A Swing Gemaltes Bild über saveDialog speichern unter AWT, Swing, JavaFX & SWT 15
L Dynamischer Aufbau einer Tabelle über Objekte AWT, Swing, JavaFX & SWT 2
N JButton über benutzerdefinierte paintComponent setzen AWT, Swing, JavaFX & SWT 3
S AWT Daten über TextField und Button in array speichern AWT, Swing, JavaFX & SWT 5
T Klasse über JButton schließen AWT, Swing, JavaFX & SWT 4
Augenblau JavaFX Externe Schriftart über CSS ansprechen und zuweisen AWT, Swing, JavaFX & SWT 5
T Generische Klasse in JList über DefaultListModel AWT, Swing, JavaFX & SWT 1
Z JAVAFX Stage über Controller weitergeben um css-file zu laden AWT, Swing, JavaFX & SWT 4
Z Absolutes Layout / Kontrolle über Anordnung AWT, Swing, JavaFX & SWT 3
wolfgang63 JavaFX Zugriff auf Guiobjekte die über FXML erstellt wurden AWT, Swing, JavaFX & SWT 2
O JTextfield wird über'drawed'.. AWT, Swing, JavaFX & SWT 6
K JavaFX Fenster aufrufen über Menü AWT, Swing, JavaFX & SWT 1
J JTable aktuallisieren über anderen Frame AWT, Swing, JavaFX & SWT 6
kaoZ Swing JFrame lässt sich nicht über dispose() abbauen AWT, Swing, JavaFX & SWT 0
P Vorteile von Tooltip nutzen (wird über allen anderen Objekten angezeigt) AWT, Swing, JavaFX & SWT 3
elischa JFrame über mehrere JPanel und Listener AWT, Swing, JavaFX & SWT 17
B Swing Borderlayout East über North AWT, Swing, JavaFX & SWT 5
D Swing Letzte Zeile einer JTable nicht über RowSorter sotieren AWT, Swing, JavaFX & SWT 2
C Methode über Buttonklick starten AWT, Swing, JavaFX & SWT 8
P Swing Panel-austausch über einen MenuListener AWT, Swing, JavaFX & SWT 2
M JLabel über JButtons zeichnen AWT, Swing, JavaFX & SWT 4
P Swing Button über gesamtes Panel AWT, Swing, JavaFX & SWT 2
3 JDialog über einem Vollbildfenster anzeigen AWT, Swing, JavaFX & SWT 5
K GUI Elemente über eine separate Textdatei beschriften? AWT, Swing, JavaFX & SWT 4
A Bild über Imageviewer auf GUI anzeigen AWT, Swing, JavaFX & SWT 3
K 2D-Grafik Kontrastanpassung über einen JSlider AWT, Swing, JavaFX & SWT 2
G JScrollPane über JScrollPane AWT, Swing, JavaFX & SWT 2
L Button über/auf JTextField AWT, Swing, JavaFX & SWT 5
A Swing JTable wird nicht über zurückegebene Referenz geaddet.Wieso nicht? AWT, Swing, JavaFX & SWT 5
D JTextField über ein Game AWT, Swing, JavaFX & SWT 11
K Action Listener implementieren über Objekt AWT, Swing, JavaFX & SWT 14
bluerob Fehler bei Wertübermittlung über KeyListener AWT, Swing, JavaFX & SWT 3
R JTextField mit abgerundeten Ecken - Geht über Grenze hinaus AWT, Swing, JavaFX & SWT 4
S JDialog direkt über dem MainFrame aufpoppen lassen AWT, Swing, JavaFX & SWT 2
X Swing Panel Extra Klasse & Aufruf über Button AWT, Swing, JavaFX & SWT 18
J Frame mit Button erstellen - Warum ist es nötig, Frame über Unterklasse zu erstellen? (Reg Listener) AWT, Swing, JavaFX & SWT 2
P versch. JPanel Klassen über Menü öffnen AWT, Swing, JavaFX & SWT 12
P Öffnen, Speichern von Dat. über DialogBoxen AWT, Swing, JavaFX & SWT 10

Ähnliche Java Themen

Neue Themen


Oben