B4J Library jdashboardUI Improve the graphic interface of your desktop applications

? Introducing JDashboard UI Library – Your Ultimate Desktop Customization Solution!

Hello everyone! I'm excited to share a feature-packed library that simplifies desktop application development while offering extensive dashboard customization. After dedicating considerable time to its development, I'm pleased to present this powerful tool, and it's available for just $20!

? Example Application Showcase: Explore the capabilities of this library by checking out the example application here. It demonstrates the versatility and robustness of the JDashboard UI Library.

? Library in Action: See a sneak peek of what this library can do in action:



? Get Started: Ready to elevate your desktop applications? Download the JDashboard UI Library now: Download Here

Dive into the forum discussion to share your experiences and get more details about these exciting updates! Example link

? What to Expect:

  • Simple implementation
  • Rich dashboard design options
  • Total customization for your desktop applications
  • Comprehensive functionality with a user-friendly approach
?️ Example Application Download: For a hands-on experience, download the example application directly from this link and explore the library's capabilities.

Your support means a lot, and I'm confident that this library will streamline your development process. Thank you for considering JDashboard UI Library! ?
 

Attachments

  • jd14.png
    jd14.png
    86.5 KB · Views: 767
  • jd13.png
    jd13.png
    67.9 KB · Views: 797
  • jd12.png
    jd12.png
    78.4 KB · Views: 738
  • jd11.png
    jd11.png
    69.8 KB · Views: 728
  • jd9.png
    jd9.png
    100.1 KB · Views: 727
  • jd10.png
    jd10.png
    80.9 KB · Views: 741
  • ejemplo ui1.zip
    381.8 KB · Views: 451
  • ejemplo ui2.zip
    366.6 KB · Views: 448
  • 2.png
    2.png
    238.5 KB · Views: 497
  • 1.png
    1.png
    294.7 KB · Views: 476
  • 4.png
    4.png
    392.8 KB · Views: 462
  • 3.png
    3.png
    294.6 KB · Views: 455
  • 5.png
    5.png
    304.2 KB · Views: 544
Last edited:

fernando1987

Active Member
Licensed User
? Breaking News! Unveiling JDashboardUi Version 20! ?

Hello, B4X Community! Get ready to ignite your development journey with the newest iteration of the JDashboardUi library - Version 20! ? Prepare for an enhanced toolkit packed with cutting-edge features, optimizations, and enhancements. Here's a sneak peek into what awaits:

? Effortless Upgrades: Existing users can smoothly transition to Version 20 by logging into their user panel on our store and accessing the latest release from the "Recent Orders" section. Upgrade seamlessly, with no hassle whatsoever!

Get ready to revolutionize your development process with JDashboardUi Version 20- It's innovation unleashed! ?
 

fernando1987

Active Member
Licensed User
A new Swift view was added to the library, like all views, it can be added from code


code example:
#Region Project Attributes
    #MainFormWidth: 1200
    #MainFormHeight: 700
#End Region

Sub Process_Globals
    Private fx As JFX
    Private frm As Form
    Private xui As XUI

    
    Dim UI As jdashboard_WindowsStyle2

    
    
    Dim p As JSwich

    Private JSwich1 As JSwich
    
End Sub
Sub AppStart (Form1 As Form, Args() As String)
    frm.Initialize("frm", 1200, 700)
    frm.SetFormStyle("UNDECORATED")
'   
    UI.Initialize(Me, frm, "DUI", fx.Colors.ARGB(250,53, 53, 53))
    
    
    UI.Title.Text = "Example app"
    UI.titlestyle(xui.Color_Transparent)
    UI.Title.TextColor = fx.Colors.White
    frm.Title = "Example app"
    'icon
'    DUI.SetIcon(fx.LoadImage(File.DirAssets,"icons8_translate_app_480px.png"))
'   frm.Icon = fx.LoadImage(File.DirAssets, "icons8_translate_app_480px.png")
'   
    ' Button setup...
    Dim btnClose As Button
    btnClose = UI.ButtonAdd("")
    btnClose.TextColor = fx.Colors.White
    jdashboardUtils.ButtonSeticon(btnClose, Chr(0xE14C), fx.Colors.White, fx.CreateMaterialIcons(22), fx.Colors.Transparent, "LEFT")
    UI.ButtonBindToAction(btnClose, UI.ACTION_EXIT)
    jdashboardUtils.ToolTip2(btnClose, "Exit application", fx.DefaultFont(12),fx.CreateMaterialIcons(24),Chr(0xE14C), fx.Colors.RGB(229, 59, 82))
    btnClose.Tag = "close"
'   
    Dim btnMaximize As Button
    btnMaximize= UI.ButtonAdd("")
    jdashboardUtils.ButtonSeticon(btnMaximize, Chr(0xE069), fx.Colors.White, fx.CreateMaterialIcons(22), fx.Colors.Transparent, "LEFT")
    UI.ButtonBindToAction(btnMaximize, UI.ACTION_MAXIMIZE)
    jdashboardUtils.ToolTip2(btnMaximize, "Maximize the application", fx.DefaultFont(12),fx.CreateMaterialIcons(24),Chr(0xE069), fx.Colors.RGB(87, 203, 197))
'   
     Dim btnMinimize As Button
    btnMinimize = UI.ButtonAdd("")
    jdashboardUtils.ButtonSeticon(btnMinimize, Chr(0xE15B), fx.Colors.White, fx.CreateMaterialIcons(22), fx.Colors.Transparent, "LEFT")
    UI.ButtonBindToAction(btnMinimize, UI.ACTION_MINIMIZE)
    jdashboardUtils.ToolTip2(btnMinimize, "Minimize the application", fx.DefaultFont(12),fx.CreateMaterialIcons(24),Chr(0xE15B), fx.Colors.RGB(46, 193, 220))

    UI.BorderWidth = 5
''    DUI.Inershadow = fx.Colors.RGB(95, 96, 137)
'    DUI.AnimationsActivated = False

    UI.MenuType = UI.No_menu
'

    UI.RootPane.LoadLayout("Layout1")
    frm.Show
    
    
    p.Initialize(Me,"p")
    
    p.AddToParent(UI.RootPane,50dip,85dip,200dip,30dip,True,0xFFB1B0B0,0xFF509A5A,"Ios",0xFFB1B0B0,14,True)
    p.setIcons(fx.CreateFontAwesome(13),Chr(0xF179),Chr(0xF17B))
    p.Iconsize = 18
    

End Sub


Private Sub JSwich1_CheckedChange(Checked As Boolean)
    Log(Checked)
    
    
End Sub

Private Sub p_CheckedChange(Checked As Boolean)
    Log(Checked)
    If Checked Then
        p.Text = "Ios"
        p.TextColor = 0xFFB1B0B0
    Else if Checked = False Then
        p.Text = "Android"
        p.TextColor = 0xFF509A5A
    End If
End Sub
 

fernando1987

Active Member
Licensed User
Add views to the title bar.


Example:
Try    
    
        ' Agregar tus componentes al panel aquí
        Dim label1 As Label
        Dim label2 As Label
        Dim btnsearch As jButton
        Dim label3 As Label
        Dim search1 As jbtflotaing_search
        Private searchResults As List ' Lista de índices de filas que coinciden con la búsqueda
        Private currentResultIndex As Int ' Índice del resultado actualmente seleccionado


        btnsearch.Initialize(Me, "btnsearch")
        label1.Initialize("next")
        label2.Initialize("previus")
        label3.Initialize("")
        search1.Initialize(Me, "search_text")
           
        
        search1.AddToParent(UI.panelbar,"",Main.loc.localize("word"),30,10,300,25,xui.Color_RGB(67, 76, 94),xui.Color_White,xui.Color_Gray,11,False,True,1,xui.Color_RGB(67, 76, 94))
        search1.setIcon(xui.CreateFontAwesome(20),Chr(0xF040))
        search1.CornerRadius = 5
        search1.Text= Main.setting.get("search")
        
        btnsearch.AddToParent(UI.panelbar,350,10,100,30,2,12,Main.loc.localize("Search"),fx.Colors.White,xui.Color_RGB(89, 160, 211),xui.Color_RGB(89, 160, 211),"TL_BR",5)
        btnsearch.ButtonSeticon(Chr(0xF002),fx.Colors.RGB(181, 220, 251),fx.CreateFontAwesome(18),"LEFT")
        label1.Font = xui.CreateFontAwesome(20)
        label2.Font = xui.CreateFontAwesome(20)
        label1.TextColor = fx.Colors.RGB(140, 206, 239)
        label2.TextColor = fx.Colors.RGB(140, 206, 239)
        label1.Text = Chr(0xF063)
        label2.Text = Chr(0xF062)
        label3.Font = xui.CreateDefaultBoldFont(14)
        label3.TextColor = fx.Colors.RGB(213, 210, 245)
        label3.Alignment = "CENTER"
        
        If searchResults.Size > 0 Then
            label3.Text = (searchResults.IndexOf(searchResults.Get(currentResultIndex)) + 1)  &"/"&searchResults.Size
        Else
            label3.Text = "0/0"
        End If
        
        'add
         UI.panelbar.AddView(label3,460,10,60,25)
         UI.panelbar.AddView(label1,530,10,30,25)
        UI.panelbar.AddView(label2,560,10,30,25)
            
    
Catch
    Log(LastException)
End Try
 

fernando1987

Active Member
Licensed User
? Breaking News! Unveiling JDashboardUi Version 20.2! ?

Hello, B4X Community! Get ready to ignite your development journey with the newest iteration of the JDashboardUi library - Version 20.2! ? Prepare for an enhanced toolkit packed with cutting-edge features, optimizations, and enhancements. Here's a sneak peek into what awaits:

? Effortless Upgrades: Existing users can smoothly transition to Version 20.2 by logging into their user panel on our store and accessing the latest release from the "Recent Orders" section. Upgrade seamlessly, with no hassle whatsoever!

Get ready to revolutionize your development process with JDashboardUi Version 20.2 It's innovation unleashed! ?
 
Last edited:

walterf25

Expert
Licensed User
Longtime User
Hi there @fernando1987 quick question, I am using your amazing library to give my projects a professional look, but is there a way to make the make the custom_form (msgBox) style window to follow the parent form, for example if I move my main window to a second monitor and I make a custom_form appear, I would like for it to follow the main parent window, right now I have my an external monitor connected to my laptop, so basically two monitors, my laptop's monitor plus my external monitor, when I move the main window to the second monitor, and I make the custom_form (custom msgbox) appear it appears on my laptop's monitor and would like it to follow the main window.

Thanks,
Walter
 

fernando1987

Active Member
Licensed User
Hi there @fernando1987 quick question, I am using your amazing library to give my projects a professional look, but is there a way to make the make the custom_form (msgBox) style window to follow the parent form, for example if I move my main window to a second monitor and I make a custom_form appear, I would like for it to follow the main parent window, right now I have my an external monitor connected to my laptop, so basically two monitors, my laptop's monitor plus my external monitor, when I move the main window to the second monitor, and I make the custom_form (custom msgbox) appear it appears on my laptop's monitor and would like it to follow the main window.

Thanks,
Walter

Hi Walter,

Thank you for your purchase and kind words about the library! I'm glad you're finding it useful for your projects.

Regarding the issue with the custom form (msgBox) not following the main parent window when moving it to another monitor, I currently don't have a dual-monitor setup to replicate the problem. However, a possible solution could be to create a new form and use `JDashboardUI` to style it. You can then test if this new form follows the main window when moved. If it works as expected, you might need to manually add the necessary controls to create your own custom form.

I hope this helps! Please let me know if there's anything else I can assist you with.

Best regards,
Fernando
 

josejad

Expert
Licensed User
Longtime User
I move my main window to a second monitor and I make a custom_form appear
Hi:

It happens to me with almost all the applications I use in Windows
 

walterf25

Expert
Licensed User
Longtime User
Hi:

It happens to me with almost all the applications I use in Windows
I figured out a way to make it work where the pop up message box appears where the main form is moved.
 

fernando1987

Active Member
Licensed User
? Breaking News! Unveiling JDashboardUi Version 21! ?

Hello, B4X Community! Get ready to ignite your development journey with the newest iteration of the JDashboardUi library - Version 21! ? Prepare for an enhanced toolkit packed with cutting-edge features, optimizations, and enhancements. Here's a sneak peek into what awaits:

? Effortless Upgrades: Existing users can smoothly transition to Version 21 by logging into their user panel on our store and accessing the latest release from the "Recent Orders" section. Upgrade seamlessly, with no hassle whatsoever!

Get ready to revolutionize your development process with JDashboardUi Version 21 It's innovation unleashed! ?
 

fernando1987

Active Member
Licensed User
Captura de pantalla 2024-08-07 112819.png


- Added support for icons and images in custom JCombobox and Custom_Jcombobox views.

- An implementation of some Snippets was added to improve the programming process and minimize the programmer's time when using this library, Snippets is a great tool, thank you for making it available to us @Erel

 
Last edited:

fernando1987

Active Member
Licensed User

🎉 Announcing JDashboardUi Version 2.5 for B4J! 🎉

We’re excited to unveil JDashboardUi Version 2.5, packed with improvements and new features to enhance the interface and functionality of your B4J applications.

🆕 Code Optimization and TextFlow Enhancements

  • Code Optimization: We’ve improved the core code for a more efficient performance.
  • Enhanced TextFlow: Cleaning up content and rewriting in TextFlow is now simpler, making it easier to manipulate text and improving the overall user experience.

📊 JTableView - Editable and Customizable Table

The JTableView is now even more powerful and flexible, with various options to handle complex data:

  • Column Types:Configure your columns with these data types based on your needs:
    • Text (COLUMN_TYPE_TEXT)
    • Numeric (COLUMN_TYPE_NUMBERS)
    • Date (COLUMN_TYPE_DATE)
    • Time (COLUMN_TYPE_TIME)
    • Long Date (COLUMN_TYPE_LONGDATE)
    • Percentage (COLUMN_TYPE_PERCENTAGE)
    • Currency (COLUMN_TYPE_CURRENCY)
  • Advanced Context Menu:JTableView features a context menu with useful options for data management:
    • Hide Column and Show All Columns
    • Copy Table partially or entirely
    • Change Column Type
    • Sort Mode and Select Mode (between rows and cells)
    • Filters and Search within columns
      This menu allows for intuitive and efficient table customization and management.
  • Add and Delete Rows: You can now easily add or delete rows directly from the table, streamlining data management for a more dynamic user experience.
  • Automatic Localization in 26 Languages: JTableView automatically adapts to 26 languages, providing a global experience and making it accessible for users from different regions.
1730490824109.png


🆕 Ribbon Bar with Office 2021 Theme

A new Office 2021 theme has been added to the Ribbon Bar, giving your applications a modern, professional appearance, ideal for business environments.

1730491304086.png


🖼️ Customizable Splash Screen

This version introduces a customizable Splash Screen, creating an engaging visual introduction for your app:

  • Customizable logo and title
  • Optional loading text in the corner, perfect for showing load progress or welcome messages.
1730490873451.png

🎨 JIconFont with Over 2500 Icons

With JIconFont, you now have access to over 2500 customizable icons with options for color and style. This icon set is perfect for visually enriching your UI and enhancing your app's user experience.

1730490914345.png


🗜️ New Compression Functions with zip4j 2.7

Thanks to the integration with zip4j version 2.7, JDashboardUi now supports a variety of functions to work with compressed files. These new capabilities make it easier to create, extract, and manage zip archives directly within your application, adding another layer of functionality to the UI.

💡 Key Features of JDashboardUi 2.5

  • Editable JTableView: Supports multiple column types, customizable colors, advanced context menu, and options to add/delete rows.
  • Localization in 26 Languages: JTableView automatically adapts to different languages, making it globally accessible.
  • Ribbon Bar with Office 2021 Theme: A clean and professional look, ideal for corporate applications.
  • Customizable Splash Screen: An attractive, professional first impression for your applications.
  • JIconFont: Icon library with over 2500 options, customizable in color and style.
  • Compression Functions: Manage compressed files with ease using zip4j 2.7 integration.

🔗 Upgrade to JDashboardUi 2.5 now and explore how it can enhance your B4J applications with these powerful new features!
 
Last edited:

fernando1987

Active Member
Licensed User

Version 21.6 Now Available! 🎉

We’re excited to announce the release of Version 21.6 with significant code corrections and performance enhancements! 🚀

How to Download the Update:​

If you’ve already purchased a previous version, simply log in to your user panel on our store at b4xapp.com using your credentials.

  1. Navigate to the "Recent Orders" section.
  2. Locate your purchase of JDashboardUi
  3. Click the download option to get the latest version at no additional cost.
Enjoy the improvements and let us know what you think!


🎁 Limited-Time Offer!
Take advantage of 50% OFF on all codes and libraries in our store until January 5, 2025! Don't miss this opportunity to expand your toolkit at half the price.

Visit b4xapp.com now and save big! 🛒
 

fernando1987

Active Member
Licensed User

🚀 jDashboardUI Version 21.7 is Here! 🎉


We’re thrilled to announce the release of jDashboardUI 21.7, a major update designed exclusively for B4J. This update introduces exciting new views, powerful features, and enhancements to existing components, enabling you to create stunning, dynamic, and highly customizable interfaces.


---

What’s New in jDashboardUI 21.7?

🌟 New Views Added

1. JDCalendar 🗓️

A fully customizable calendar view to simplify date selection.

Modern Design: Configurable colors, borders, and corner radii.

Event Triggers: SelectedDateChanged and SelectedDateChanged2 notify when the date changes.

Multi-language Support: Displays day and month names in multiple languages.

Dynamic Navigation: Switch between months and years effortlessly.




Usage Example:
JDCalendar Example:
Dim myCalendar As JDCalendar 
myCalendar.Initialize(Me, "CalendarEvent") 
myCalendar.CalendarColor = xui.Color_RGB(61, 67, 84)) 
myCalendar.SelectColor = xui.Color_RGB(124, 77, 255) 
myCalendar.StartOnMonday = True
myCalendar.RedSunday = 2 ' Highlight Sundays in red 
myCalendar.AddToParent(MainForm.RootPane, 20dip, 20dip, 300dip, 400dip)


---

2. JTabBar 🔘
A sleek tab-style selector for navigation between sections.

Smooth Animations: Dynamic transitions between tabs.

Customizable Colors: Set colors for active and inactive tabs.

Rounded Borders: Fully configurable corners for a polished look.

Event Handling: Capture tab text and index with the itemClicked event.




Usage Example:
JTabBar Example:
Dim tabBar As JTabBar 
tabBar.Initialize(Me, "TabEvent")
tabBar.ActiveColor(xui.Color_RGB(30, 136, 229)) 
tabBar.TextColor(xui.Color_RGB(60, 64, 67)) 
tabBar.TextSize(16) 
tabBar.AddOptions(Array As String("Home", "Settings", "Profile")) 
tabBar.Show 
tabBar.SetActive(1) ' Activate "Settings"


---

3. JNotificationBar 🔔
An animated notification bar for quick and dynamic messages.

Fluid Appearance: Smooth animations for showing and hiding.

Configurable Position: Display notifications from the top or bottom.

Fully Customizable: Adjust colors, text, display duration, corners, and more.




Usage Example:
JNotificationBar Example:
Dim notif As JNotificationBar 
notif.Initialize 
notif.BackgroundColor = xui.Color_RGB(96, 125, 139)
notif.ext ="Operation completed"
notif.ShowFromBottom = True
notif.Show(MainForm.RootPane)


---

🔧 Enhancements to JTableView

The JTableView component has been significantly improved to seamlessly integrate with SQLite databases, offering greater power and flexibility.

LoadSQLTable
Load data from an SQLite table into JTableView automatically.
LoadSQLTable Example:
Dim sql As SQL 
Dim jTableView As JTableView
jTableView.LoadSQLTable(File.DirApp & "/mydb.db", "employees", sql)

UpdateSqlTable
Update an SQLite table with the current data from JTableView.
UpdateSqlTable Example:
jTableView.UpdateSqlTable("employees", sql)


DeleteDataTableSql and DeleteTableSql
Completely delete a table or just its data.
Delete Data and Table Example:
jTableView.DeleteDataTableSql("employees", sql) 
jTableView.DeleteTableSql("employees", sql)


ListAllTablesDB
List all tables in an SQLite database dynamically.
ListAllTablesDB Example:
Dim tables As List tables = jTableView.ListAllTablesDB(File.DirApp & "/mydb.db", sql)

For Each tableName As String In tables 
Log("Found table: " & tableName) 
Next


---

How to Download the Update:

If you’ve already purchased a previous version, simply log in to your user panel on our store at b4xapp.com using your credentials.

1. Navigate to the "Recent Orders" section.


2. Locate your purchase of jDashboardUI.


3. Click the download option to get the latest version at no additional cost.


4. Enjoy the improvements and let us know what you think!



🎁 Limited-Time Offer!
Take advantage of 50% OFF on all codes and libraries in our store until January 31, 2025! Don't miss this opportunity to expand your toolkit at half the price.

👉 Visit b4xapp.com now and save big! 🛒


---

What’s Included:

This update also comes with an example project to help you get started with the new features.


---

Elevate Your Applications Today

With jDashboardUI 21.7, you’ll gain access to advanced tools like JDCalendar, JTabBar, JNotificationBar, and the enhanced JTableView. These components are designed exclusively for B4J, empowering you to create modern, dynamic, and functional user interfaces.

👉 Update now and take your applications to the next level! 🚀
 

Attachments

  • example.zip
    11.7 KB · Views: 89
Last edited:

fernando1987

Active Member
Licensed User
Thank you for your feedback! I'm really glad to hear that jDashboardUI impressed you and that it adds a professional touch to your applications.

I hope you enjoy exploring it and find it useful for your projects. Thanks again for your kind words and support!
I'm just starting to use this library and it really impressed me.
A new professional look for my applications.
Very good.
Thanks @fernando1987 !
 

Jones Hone

Active Member
Licensed User
Longtime User
Just purchased the library.
When compiling Example Ribbon.b4j & example_customform.b4j, the following message appears
What is the problem?

B4J Version: 10.00 (OpenJDK 11)
Parsing code. Error
Error parsing program.
Error description: Undeclared variable 'dbutils' is used before it was assigned any value.
Error occurred on line: 572 (JTableview)
DBUtils.DropTable(sql, tablename)
 

fernando1987

Active Member
Licensed User
Just purchased the library.
When compiling Example Ribbon.b4j & example_customform.b4j, the following message appears
What is the problem?
I reviewed the provided examples (Example Ribbon.b4j and example_customform.b4j), and I couldn't reproduce the issue you're experiencing. Both examples compile and run without any errors on my end.

I suggest checking if you have the latest version of the DBUtils library installed. The latest version is 2.11, and it includes several fixes and improvements. Ensuring you are using this version might resolve the issue.

Let me know if you need further assistance!
 

fernando1987

Active Member
Licensed User
🚀 jDashboardUI Version 21.8 Is Here! 🎉
We are excited to announce the arrival of jDashboardUI 21.8, a powerful update specially crafted for B4J developers. This version focuses on performance optimization, cleaner code, and a brand-new Windows-inspired visual style that significantly enhances the look of your custom windows.




🔧 What's New in jDashboardUI 21.8?
✅ Optimized and Refactored Code
All components and classes have been reviewed to provide:
Improved readability – The code is now easier to understand and maintain.
Better performance – Faster loading and smoother rendering.


🪟 New Windows-Style Visual Theme
A new way to initialize custom windows has been added, offering a sleek, modern professional look with optional acrylic (frosted glass gradient) effect support.


🔹 New Initialize Parameters:


B4X:
Public Sub Initialize(moduleParent As Object, parentForm As Form, eventName As String, color As Paint, AcrylicEffect As Boolean)


With this new initialization method, you can:
• Enable or disable the acrylic effect.

1746565927942.png

This style gives your app a modern desktop feel, ideal for dashboards and rich visual tools.




💾 How to Get the Update
Already purchased jDashboardUI? Just go to b4xapp.com and follow these steps:


  1. Visit the Recent Orders section.
  2. Locate your jDashboardUI purchase.
  3. Download the latest version at no additional cost.



🚀 Take Your Projects to the Next Level
With jDashboardUI 21.8, you get refined performance, cleaner code, and an impressive custom window style. Whether you're building admin panels, control centers, or rich UIs — this update has everything you need.
👉 Update now and experience the difference!
 
Top