I want to style JavaFX TabPane dropdown menu. The menu, which appears when there is too much tabs to fit to screen. I have found this substructure in java documentation.
tab-header-area — StackPane
headers-region — StackPane
tab-header-background — StackPane
control-buttons-tab — StackPane
tab-down-button — Pane
arrow — StackPane
tab — Tab
tab-label — Label
tab-close-button — StackPane
tab-content-area — StackPane
But there is nothing about the dropdown menu. So is there any way to style this with css?
Too late to the party, but this might help someone. You can access the tabs menu using this code:
// Access the tabs menu itself
.tab-pane > .tab-header-area > .control-buttons-tab > .container > .tab-down-button .context-menu {
// Do something.
}
// Access menu item
.tab-pane > .tab-header-area > .control-buttons-tab > .container > .tab-down-button .context-menu .radio-menu-item {
// Do something.
}
// Access menu item's text
.tab-pane > .tab-header-area > .control-buttons-tab > .container > .tab-down-button .context-menu .radio-menu-item .label {
// Do something.
}
// Access menu item's check sign
.tab-pane > .tab-header-area > .control-buttons-tab > .container > .tab-down-button .context-menu .radio-menu-item .left-container .radio {
// Do something.
}
You can access the dropmenu with the class .context-menu in the CSS file.
For example you can change the background color of the drop-down menu using this code snippet:
.context-menu {
-fx-background-color: #d0d0d0;
}
Related
On the WordPress theme I am working on https://themes.getmotopress.com/2019/ the menu turns into a circle and excess menu items are put into this when the screen resolution decreases.
I would like to stop <div class="main-menu-more"> from showing and all elements become listed in the main container. I have used the code
.main-navigation .main-menu-more {
display:none;
}
Which hides the more menu however the elements inside do not show?
Try this style I hope this will work for you but you should have to upgrade style according to your requirement
#media (max-width:500px){
.submenu-expand{
display: none;
}
.main-navigation .sub-menu {
background-color: transparent;
position: relative;
opacity: 1;
left: 0;
}
.main-navigation .sub-menu > li > a, .main-navigation .sub-menu > li > .menu-item-link-return {
color: #0073aa;
}
.sub-menu:hover{
position: relative;
}
}
I checked out the source codes of the WordPress you are currently working and determined that by deleting the word "toggle" from class="submenu-expand main-menu-more-toggle is-empty" which will become class="submenu-expand main-menu-more is-empty" will no longer hide the menus in the circle, but will simply become part of the responsive webpage.
The code came from the button section of your WordPress. Simply search for the class attribute with a value of "submenu-expand main-menu-more-toggle" using the search function on your text editor and delete the word "toggle" from it. It worked for me.
Let me know how it went.
I have created a Menu on my JavaFX application. Here i want to style the RadioMenuItem component:
How i can:
Modify the Arrow to colorize the Background (Like )
Hide only the Arrow completely
// [...]
You can use CSS styles.
Background color (checked):
.radio-menu-item:checked > .left-container {
-fx-background-color: blue;
}
Arrow color:
.radio-menu-item:checked > .left-container > .radio {
-fx-background-color: blue;
}
Same color hides the arrow.
I am using the UI Bootstrap tabs, and I want to change the CSS for some of the components, but am not sure of how exactly to access the different elements.
The elements I would like to change are the text for the active tab, the text for the unactive tab, and the borders for both.
What is the correct syntax need to access these tabs in CSS?
Here is the uib-tab HTML I am using:
<uib-tabset>
<uib-tab heading="Episodes"></uib-tab>
<uib-tab heading="Categories"></uib-tab>
</uib-tabset>
I'm pretty new to CSS - apologies in advance...
You can simply edit bootstrap's css for .nav-tabs
.nav-tabs > li > a {
border: 1px solid #000;
}
For active tab
.nav-tabs > li.active > a {
/*CSS HERE*/
}
Optionally you can style the uib-tab class added by Angular:
.uib-tab a {
border: 1px solid #000;
}
For active uib-tab
.uib-tab.active a {
/*CSS HERE*/
}
I need to apply CSS to change collapse/expand icons for a particular treeview in my JavaFX application. FX:ID for it is treeView. However I have many other treeviews in my application and I don't want those icons to be changed.
Change expand and collapse image TreeView JavaFX 2.2
Above link provides a solution to apply CSS but that would change icons in all the treeViews. Is there any way I can apply CSS to particular treeView?
You can assign a separate class to your TreeView and change its icon.
treeView.getStyleClass().add("my-tree-view");
and change the icons only for this treeView
.my-tree-view > .virtual-flow> .clipped-container > .sheet > .tree-cell .tree-disclosure-node .arrow {
-fx-background-color: red;
}
.my-tree-view > .virtual-flow> .clipped-container > .sheet > .tree-cell:expanded .tree-disclosure-node .arrow {
-fx-background-color: blue;
}
I tried to change styles in menu button. I could change menu button style but not its menu item.
No matter what i try menu item inside menu-button remains unchanged.
.menu-button {
-fx-background-color:black;
}
.menu-button .label {
-fx-background-color:black; }
Now how can i change color that is left out??
MenuButton uses Menu internally and has a similar API. In such way that MenuButton contains MenuItems list just like Menu. So I think you need to try to play with .menu, .menu-button and .menu-item CSS selectors in caspian.css. More specifically with .menu-item.
EDIT: It seems you need to change the .context-menu too, because the popped up menu of the menuButton is ContextMenu.
.menu-item .label {
-fx-text-fill: white;
}
.menu-item:focused {
-fx-background-color: darkgray;
}
.menu-item:focused .label {
-fx-text-fill: blue;
}
.context-menu {
-fx-skin: "com.sun.javafx.scene.control.skin.ContextMenuSkin";
-fx-background-color: black;
-fx-background-insets: 0, 1, 2;
-fx-background-radius: 0 6 6 6, 0 5 5 5, 0 4 4 4;
/* -fx-padding: 0.666667em 0.083333em 0.666667em 0.083333em; 8 1 8 1 */
-fx-padding: 0.333333em 0.083333em 0.666667em 0.083333em; /* 4 1 8 1 */
}
This has also been asked here and here, so I decided to write a CSS template for styling menu bars.
Using this CSS template is a very easy way to style a MenuBar, its top-level MenuButton entries, and each MenuButton's MenuItem children, i.e, "the whole menu bar".
The only thing that has to be done is to adjust four variables according to one's needs:
-fx-my-menu-color: The menu bar's default background color (i.e., when item is not hovered / selected)
-fx-my-menu-color-highlighted: An item's background color if it is hovered / selected.
-fx-my-menu-font-color: The menu bar's default font color (i.e., when item is not hovered / selected)
-fx-my-menu-font-color-highlighted: An item's font color if it is hovered / selected.
The complete CSS file is commented to explain each defined rule:
/* VARIABLE DEFINITIONS: Only these 4 variables have to be adjusted, the rest is copy-paste */
* {
-fx-my-menu-color: #263238; /* Change according to your needs */
-fx-my-menu-color-highlighted: #455a64; /* Change according to your needs */
-fx-my-menu-font-color: #FFFFFF; /* Change according to your needs */
-fx-my-menu-font-color-highlighted: #FFFFFF; /* Change according to your needs */
}
/* MENU BAR + Top-level MENU BUTTONS */
/*** The menu bar itself ***/
.menu-bar {
-fx-background-color: -fx-my-menu-color;
}
/*** Top-level menu itself (not selected / hovered) ***/
.menu-bar > .container > .menu-button {
-fx-background-color: -fx-my-menu-color;
}
/*** Top-level menu's label (not selected / hovered) ***/
.menu-bar > .container > .menu-button > .label {
-fx-text-fill: -fx-my-menu-font-color;
}
/*** Top-level menu's label (disabled) ***/
.menu-bar > .container > .menu-button > .label:disabled {
-fx-opacity: 1.0;
}
/*** Top-level menu itself (selected / hovered) ***/
.menu-bar > .container > .menu-button:hover,
.menu-bar > .container > .menu-button:focused,
.menu-bar > .container > .menu-button:showing {
-fx-background-color: -fx-my-menu-color-highlighted;
}
/*** Top-level menu's label (selected / hovered) ***/
.menu-bar > .container > .menu-button:hover > .label,
.menu-bar > .container > .menu-button:focused > .label,
.menu-bar > .container > .menu-button:showing > .label {
-fx-text-fill: -fx-my-menu-font-color-highlighted;
}
/* MENU ITEM (children of a MENU BUTTON) */
/*** The item itself (not hovered / focused) ***/
.menu-item {
-fx-background-color: -fx-my-menu-color;
}
/*** The item's label (not hovered / focused) ***/
.menu-item .label {
-fx-text-fill: -fx-my-menu-font-color;
}
/*** The item's label (disabled) ***/
.menu-item .label:disabled {
-fx-opacity: 1.0;
}
/*** The item itself (hovered / focused) ***/
.menu-item:focused, .menu-item:hovered {
-fx-background-color: -fx-my-menu-color-highlighted;
}
/*** The item's label (hovered / focused) ***/
.menu-item:focused .label, .menu-item:hovered .label {
-fx-text-fill: -fx-my-menu-font-color-highlighted;
}
/* CONTEXT MENU */
/*** The context menu that contains a menu's menu items ***/
.context-menu {
-fx-background-color: -fx-my-menu-color;
}