Etched Border nur an einer Seite einfügen

G

Gast2

Gast
Hallo, ich grübele schon den ganzen Vormittag über folgendes Problem:

Ich möchte meiner ToolBar einen Border an der Unterseite verpassen.

Da ich keine einfache Trennlinie will fällt der MatteBorder schonmal weg. EchtedBorder ect kann man aber nicht Seiten Selektiv konfigurieren.

Nun meine Frage: Wie mache ich das?

Das einzige was mir noch einfiel, war ein JPanel zu verwenden und darin dann noch einen Separator einzubauen. Aber auch der lässt sich in Optik ja nicht groß verändern.

Ziel wäre es also einen Border nur an einer Seite festzulegen. (Die ToolBar soll am Ende ähnlich der NetBeans Umgebung aussehen).

Ich hoffe jemand hat darauf eine Antwort, Google und Forumsuche waren nicht ergiebig. Und auch das Sun Tutorial "How to use Borders" war nicht hilfreich in diesem Fall.

Gruß Florian
 
G

Gast2

Gast
Das nützt ja nichts, denn der Inside oder Outside Border wäre immer noch ein Bevel oder Etched Border und dieser kann nicht nur für eine Seite angegeben werden.
 

Dit_

Bekanntes Mitglied
hmm sowei ich weiss hat JToolBar per default sowas. Bist du sicher dass dein ToolBar in voller Höhe dargestellt wird?

Was für LaF verwendest du?
 
G

Gast2

Gast
Verwende das native Laf.

Ich hänge einfach mal ein Beispiel an:

beispiel _meins so siehts aus. Ohne irgend eine Abgrenzungslinie unten. Möchte ich einen Bevel oder Etched Border gehts nur komplett drum herum. Also auch zwischen Menü und Toolbar wo ja nicht noch was sein soll.

beispiel_netbeans: Eingekringelt das was ich gerne hätte. Dort sieht man eine Bevel Line unter der Toolbar. Und zwar NUR unter der Toolbar. Keine Ahnung wie man das macht.
 

Anhänge

  • beispiel_meins.jpg
    beispiel_meins.jpg
    12,7 KB · Aufrufe: 37
  • beispiel_netbeans.jpg
    beispiel_netbeans.jpg
    21,3 KB · Aufrufe: 47

TR

Aktives Mitglied
vielleicht so?
Java:
BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(-2,-2,0,-2),BorderFactory.createBevelBorder(BevelBorder.RAISED))

oder überschreiben?
Java:
BevelBorder border = new BevelBorder(BevelBorder.RAISED){
	@Override
	protected void paintRaisedBevel(Component c, Graphics g, int x,
			int y, int width, int height) {
        Color oldColor = g.getColor();
        int h = height;
        int w = width;
        g.translate(x, y);
        g.setColor(getShadowOuterColor(c));
        g.drawLine(0, h-1, w-1, h-1);
        g.setColor(getShadowInnerColor(c));
        g.drawLine(1, h-2, w-2, h-2);
        g.translate(-x, -y);
        g.setColor(oldColor);
	}
};
 
G

Gast2

Gast
vielleicht so?
Java:
BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(-2,-2,0,-2),BorderFactory.createBevelBorder(BevelBorder.RAISED))

oder überschreiben?
Java:
BevelBorder border = new BevelBorder(BevelBorder.RAISED){
	@Override
	protected void paintRaisedBevel(Component c, Graphics g, int x,
			int y, int width, int height) {
        Color oldColor = g.getColor();
        int h = height;
        int w = width;
        g.translate(x, y);
        g.setColor(getShadowOuterColor(c));
        g.drawLine(0, h-1, w-1, h-1);
        g.setColor(getShadowInnerColor(c));
        g.drawLine(1, h-2, w-2, h-2);
        g.translate(-x, -y);
        g.setColor(oldColor);
	}
};

Überschreiben geht grundsätzlich. Könnte man natürlich auch die Insets ändern sodass der eigene Border Typ eben nur an einer Seite einen Border zeichnet. Dachte nur es gibt vielleicht eine API Möglichkeit ohne was eigenes zu schreiben.

Zu dem Überschreiben hab ich auch noch nen anderen Thread im Forum gefunden: http://www.java-forum.org/503429-post3.html

Aber zur Version 1 mit dem MatteBorder und dre Angabe von -2: Ist das Laf unabhängig?
 

Dit_

Bekanntes Mitglied
na gut ich würde dann wirklich einfach JSeparator drunter platzieren. Ich meine, "JSeparator" heiß ja nicht umsonst so :)
 
G

Gast2

Gast
na gut ich würde dann wirklich einfach JSeparator drunter platzieren. Ich meine, "JSeparator" heiß ja nicht umsonst so :)

Klar aber ich würd trotzdem gerne Wissen, wie das bei NetBeans gemacht ist. Das ist definitiv kein Separator und auch kein Border der drum rum gezeichnet ist.

Nennt es akademische Neugier. Ich komm halt einfach nicht drauf. (Außer die haben eigene Border geschrieben).
 

Dit_

Bekanntes Mitglied
die haben eigenes LookAndFeel wahrscheinlich.

Ich glaube in Netbeans kann man LookAndFeels ändern. probiere mal damit. wie gesagt bei mir, wenn ich DefaultJava-LaF oder MetallLaF verwende, habe ich unter dem ToolBar IMMER eine Trennlinie.
 

Dit_

Bekanntes Mitglied
axo mom, du könntest doch einfach der Komponente die unter ToolBar liegt, JPanel zb, einen Border geben dann hast du genau das, was dir fehlt. :toll:
 
G

Gast2

Gast
Ja nee wäre ja auch wieder das Problem, dass es dann nur oben sein sollte. Zumal ich unten ein Composite habe.

Stimmt im Java Laf ist da eine Trennlinie. Das Toolbar hat auch einen Border. Unter Windows Laf wird der nur nicht gezeichnet. Unter dem Java Laf sieht man, dass er verschnidet wenn man den Border null setzt. Bei Windows sieht man ihn nur nie. Der ist auch nur unten. Das versteh mal einer wieso man den unter Windoof Laf nicht sieht.

Zurück zu meiner Frage einige Posts zuvor. Die Lösung mit dem -2 im MatteBorder... Das ist dann nicht unabhängig vom Laf oder doch?
 
Zuletzt bearbeitet von einem Moderator:

TR

Aktives Mitglied
da ja die 2 Pixel 2 Linien überdecken sollen, die im BevelBorder gezeichnet werden, die also nicht vom L&F gesteuert werden, wäre es L&F unabhängig!
 
G

Gast2

Gast
da ja die 2 Pixel 2 Linien überdecken sollen, die im BevelBorder gezeichnet werden, die also nicht vom L&F gesteuert werden, wäre es L&F unabhängig!

Danke, wusste eben nicht, dass die 2 Pixel Laf unabhängig gezeichnet werden. Die Farben sind ja mit Sicherheit Laf abhängig.

Das ist dann die praktikabelere Lösung. Werde mich aber wohl doch mal mit dem schreiben eines eigenen BorderFactory beschäftigen allein um es besser zu verstehen.

In NetBeans scheint dann auch eine veränderte Variante eines Bevel Border eingesetzt zu werden.

Jeder dem noch was einfällt einfach mal hier rein posten. Lasse den Thread noch etwas offen.
 

TR

Aktives Mitglied
die Farben sind nur teils L&F abhängig,
er holt sich die akt. Farbe und macht sie dunkler!
Java:
getBackground().darker().darker()
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K JavaFX CSS Border (Verschiebung verhindern) AWT, Swing, JavaFX & SWT 4
MiMa GUI Controller für Border Pane als MVC Modell AWT, Swing, JavaFX & SWT 1
MaxG. JavaFX JavaFX Border zuweisen AWT, Swing, JavaFX & SWT 8
G Border der Komponente bei Table CellRenderer überschreiben AWT, Swing, JavaFX & SWT 0
S Rectangle Border Color AWT, Swing, JavaFX & SWT 13
J JFrame border AWT, Swing, JavaFX & SWT 2
V Swing JButton ohne Border bei Anklicken AWT, Swing, JavaFX & SWT 3
C Border in JPanel erstellen AWT, Swing, JavaFX & SWT 4
eskimo328 Dashed Border in JRE 7 funktioniert nicht AWT, Swing, JavaFX & SWT 3
Kenan89 Border nimmt Platz AWT, Swing, JavaFX & SWT 17
L Border verschwindet durch Graphics.drawImage() AWT, Swing, JavaFX & SWT 4
B Border anzeigen/nicht anzeigen AWT, Swing, JavaFX & SWT 6
G Swing JTabbedPane Was für ein Border wird da um die Tabs gezeichnet? AWT, Swing, JavaFX & SWT 6
P Swing Größe eines JPanels bestimmen (ohne Border!) AWT, Swing, JavaFX & SWT 2
F Swing UI Problem mit Zeichnen der Tab-Border AWT, Swing, JavaFX & SWT 2
N JButton Border(null) AWT, Swing, JavaFX & SWT 3
A SWT - group - border color? AWT, Swing, JavaFX & SWT 4
S Border von JTabbedpane-Tab? AWT, Swing, JavaFX & SWT 3
K SWT Titeld Border AWT, Swing, JavaFX & SWT 3
H JList: Selection-Border entfernen AWT, Swing, JavaFX & SWT 2
Streeber Menüpunkt - Border/Strich AWT, Swing, JavaFX & SWT 2
A Titled Border nur oben? AWT, Swing, JavaFX & SWT 3
A Eigene Border für Buttons AWT, Swing, JavaFX & SWT 19
T Font mit Border AWT, Swing, JavaFX & SWT 7
T Border eines Panels nicht an der rechten Kante anzeigen AWT, Swing, JavaFX & SWT 7
T paintComponent() überschreiben: Platz für Border freihalten? AWT, Swing, JavaFX & SWT 6
C menubar border AWT, Swing, JavaFX & SWT 2
X Einzelne Border setzen AWT, Swing, JavaFX & SWT 2
J Border bei JSplitPane entfernen? AWT, Swing, JavaFX & SWT 2
K Border von JTextField AWT, Swing, JavaFX & SWT 1
M JWindow mit Rahmen(border) ausstatten AWT, Swing, JavaFX & SWT 4
G JPanel und Border AWT, Swing, JavaFX & SWT 16
C SWT Composite Border im Nachhinein setzen AWT, Swing, JavaFX & SWT 1
M Border in ToolTip AWT, Swing, JavaFX & SWT 5
E JButton und Border AWT, Swing, JavaFX & SWT 6
J Border im Header bei JTable verändern AWT, Swing, JavaFX & SWT 3
Z Border um ein JPanel AWT, Swing, JavaFX & SWT 3
W Probleme mit Border- und null-Layout AWT, Swing, JavaFX & SWT 8
MiMa Optimieren einer Methode zum Zentrieren von Fenstern AWT, Swing, JavaFX & SWT 0
T VerifyListener - Ersetzen einer 0 AWT, Swing, JavaFX & SWT 5
I JavaFX JavaFx-Anwendung für die Erstellung einer Windows-Anwendung? AWT, Swing, JavaFX & SWT 6
J Drag und drop aus einer JTable - bitte um Unterstützung AWT, Swing, JavaFX & SWT 2
N Dropshadow setzen bei einer Gruppe von Tiles, die sich jeweils in einer Stackpane befinden, welche in einer Gridpane angeordnet sind. AWT, Swing, JavaFX & SWT 0
M Daten zufällig Einlesen aus einer Datei (binäres Format) AWT, Swing, JavaFX & SWT 7
ExceptionOfExpectation Mit einer laufenden GUI Applikation eine Datei in dem Rechner löschen AWT, Swing, JavaFX & SWT 2
Jose05 Aus einer normalen Java Klasse eine FXML-Klasse laden AWT, Swing, JavaFX & SWT 12
Linjutsu Den Inhalten aus einer ArrayList Bilder zuweisen (Kartenspiel) AWT, Swing, JavaFX & SWT 8
H JavaFX Timeline II: Verschieben einer ImageView AWT, Swing, JavaFX & SWT 16
I Hilfe bei dem Erstellen einer SQL Abfrage aus gewählten JComboBoxen AWT, Swing, JavaFX & SWT 5
L Swing TextPanel Schrift untereinander und auf einer Höhe AWT, Swing, JavaFX & SWT 3
mananana Mögliche probleme die in einer GUI passieren Können AWT, Swing, JavaFX & SWT 6
I JTable mit einem Button zu einer Detail Seite springen AWT, Swing, JavaFX & SWT 4
Ernesto95 JavaFX Return Value nach Beendigung einer Animation AWT, Swing, JavaFX & SWT 15
melaniemueller Wortliste in einer Datei ablegen AWT, Swing, JavaFX & SWT 12
D Layout einer scene mit ListView Elementen und Zwei Textfeldern AWT, Swing, JavaFX & SWT 1
Jose05 JavaFx Fxml: GUI aus einer anderen Klasse starten AWT, Swing, JavaFX & SWT 1
U Was genau ist das Objekt einer affinentransformation? AWT, Swing, JavaFX & SWT 1
B JavaFX Prüfen ob ein Objekt sich mehrmals in einer Liste befindet AWT, Swing, JavaFX & SWT 5
mac2010 JavaFX Einbindung einer Karte AWT, Swing, JavaFX & SWT 1
donnico2 Objekte in der GUI ausgeben mit Hilfe einer DAO AWT, Swing, JavaFX & SWT 1
Kohl Jedes Objekt einer JTable um ein Zeichen verkürzen AWT, Swing, JavaFX & SWT 7
W Aufrufen einer bestimmten Scene mit if-Bedingung AWT, Swing, JavaFX & SWT 4
J Ablaufsteuerung/Anleitung machen mit JDialog und einer Zustandsmaschine AWT, Swing, JavaFX & SWT 1
missy72 JavaFX Wiederholen einer IF-Abfrage beim erneuten Öffnen einer Stage AWT, Swing, JavaFX & SWT 11
missy72 JavaFX TableView / TableColumn / ObservableList / zwei Werte in einer Zelle AWT, Swing, JavaFX & SWT 2
S JavaFX - mit Listener Veränderungen in einer TableView abhören AWT, Swing, JavaFX & SWT 3
missy72 JavaFX ObservableList in einer ArrayList speichern. AWT, Swing, JavaFX & SWT 7
HoT Sortieren von ein paar Zeilen in einer Tabelle, aber nicht die ganze Tabelle AWT, Swing, JavaFX & SWT 3
kodela Swing Element einer JComboBox ausgrauen AWT, Swing, JavaFX & SWT 3
B JavaFX Farbe eines Quadrates in einer separaten Klasse ändern AWT, Swing, JavaFX & SWT 4
H Daten aus einer XML(x83-Datei) in einem JFrame anzeigen lassen AWT, Swing, JavaFX & SWT 9
N Aufruf einer anderen Klasse durch Button ActionListener AWT, Swing, JavaFX & SWT 2
N Einer TextArea ein ScrollPane hinzufügen AWT, Swing, JavaFX & SWT 8
L JavaFX Exception nach includieren einer fxml // nested controller AWT, Swing, JavaFX & SWT 1
K Probleme bei der Erstellung und Ausführung einer Jar Datei AWT, Swing, JavaFX & SWT 2
A checkbox in einer TableView abhängig von einem anderen Celleninhalt disablen AWT, Swing, JavaFX & SWT 1
G Verknüpfung einer pdf Datei AWT, Swing, JavaFX & SWT 2
B Ausgaben einer Umrechnung vom Textfeld in ein Label AWT, Swing, JavaFX & SWT 2
F jTree und das Model aus einer eigenen Klasse AWT, Swing, JavaFX & SWT 1
D Zeilenumbruch in einer JTable AWT, Swing, JavaFX & SWT 9
N Wie kann ich zwei Grafiken in einer Oberfläche anzeigen lassen? AWT, Swing, JavaFX & SWT 8
@SupressWarnings() JavaFX Auf den Controller einer ListCell zugreifen AWT, Swing, JavaFX & SWT 4
Drachenbauer Swing Wie ändere ich den Hintergrund vom Anzeigefeld einer JComboBox, die nicht zum Hineinschreiben offen steht? AWT, Swing, JavaFX & SWT 32
H 3 verschiedene Nachrichten in einer FXML View die Infos kommen aus DB AWT, Swing, JavaFX & SWT 4
karlmasutra JavaFX Zugriff auf eine erzeugte Scene aus einer anderen Klasse AWT, Swing, JavaFX & SWT 1
S Java GUI durch variable Größe einer Map anpassen AWT, Swing, JavaFX & SWT 3
B Textfelder in einer ListView ausgeben AWT, Swing, JavaFX & SWT 13
J Searchfunktion auf einer MS Access Datenbank AWT, Swing, JavaFX & SWT 7
B Text im Tetfeld in einer TableView darstellen AWT, Swing, JavaFX & SWT 20
M Inhalte einer FlowPane AWT, Swing, JavaFX & SWT 4
W Swing JTable Zeilenumbruch innerhalb einer Zelle AWT, Swing, JavaFX & SWT 3
E Prinzip: wie man Ereignisse in einer GUI verarbeit. Frage zum Design? AWT, Swing, JavaFX & SWT 10
FRI3ND JavaFX: Wie kann ich einer Scene Argumente übergeben? AWT, Swing, JavaFX & SWT 14
K Swing Text eines Lables in einer Methode ändern AWT, Swing, JavaFX & SWT 13
G JavaFX JavaFX-Dialog aus einer Nicht-JavaFX-Anwendung heraus AWT, Swing, JavaFX & SWT 1
1 Swing Progressbar benutzen um Fortschritt einer Methode anzuzeigen AWT, Swing, JavaFX & SWT 4
K JavaFX ViewTable mit einer LinkedList befüllen AWT, Swing, JavaFX & SWT 3
L CardLayout in einer Klasse? AWT, Swing, JavaFX & SWT 2
J Compiler in der JavaFX stop() Methode warten lassen bist eine Aktion in einer anderen Scene gemacht AWT, Swing, JavaFX & SWT 5
D Java FX Image in einer Webanwendung annotieren und den Bereich ausschneiden AWT, Swing, JavaFX & SWT 0

Ähnliche Java Themen

Neue Themen


Oben