B4J Tutorial TabPane Example

Discussion in 'B4J Tutorials' started by Erel, Jan 8, 2014.

Similar threads

B4J Tutorial Pagination Container
B4J Tutorial Accordion container
B4J Code Snippet TabPane Closing Policy TabPages
B4J Tutorial Charts Framework
B4J Tutorial [B4X] Resumable Subs - Sleep / Wait For
  1. Erel

    Erel Administrator Staff Member Licensed User

    [​IMG]

    The TabPane container allows the user to switch between different tab pages.

    Working with TabPane is similar to working with SplitPane. Each page is made of a different layout file.
    The most important point is to use anchors in the pages layouts. This way the layouts will be resized automatically when the TabPane is resized.

    For example the following code adds two pages. The second parameter is the tab title.
    Tab1 and Tab2 are layout files.
    Code:
    Sub AppStart (Form1 As Form, Args() As String)
       MainForm = Form1
       MainForm.SetFormStyle(
    "UNIFIED")
       MainForm.RootPane.LoadLayout(
    "Main")
       TabPane1.LoadLayout(
    "Tab1""Tab 1")
       TabPane1.LoadLayout(
    "Tab2""Tab 2")
       MainForm.Show
    End Sub
    TabPane.LoadLayout returns a TabPage object. You can use this object to further configure the page.

    The example is attached.
     

    Attached Files:

    Last edited: Jan 7, 2016
  2. rwblinn

    rwblinn Well-Known Member Licensed User

    Hi Erel,

    thanks for this enhancement - very good.

    Hint for those who already have been using tabpane prior B4J v1.06:
    Change the tabpane type from Node to TabPane. This enables to use all the new properties and methods, like selectedindex, etc...

    I noticed that the B4J Documentation has not been updated (yet).
     
    Erel likes this.
  3. Erel

    Erel Administrator Staff Member Licensed User

    Fixed.
     
  4. luciano deri

    luciano deri Active Member Licensed User

    Hy, is possible add a scrollview in a tab?
     
  5. Erel

    Erel Administrator Staff Member Licensed User

    Are you asking about B4J? Is it is possible to add a ScrollPane to a TabPane.
     
  6. luciano deri

    luciano deri Active Member Licensed User

    No, i'm sorry. I asking about B4A, i need scroolview on tabhost or similar component.
     
  7. Erel

    Erel Administrator Staff Member Licensed User

    Please start a new thread in B4A forum.
     
  8. delozoya

    delozoya Member Licensed User

    How change the Width of tab? Or only change depending the name of tab? Thanks
     
  9. Erel

    Erel Administrator Staff Member Licensed User

    The width changes automatically based on the tab name.
     
  10. delozoya

    delozoya Member Licensed User

    Anh height? The problem is that is a touch screen and is a small tab
     
  11. Erel

    Erel Administrator Staff Member Licensed User

    You can use this sub:
    Code:
    Sub SetMinTabSize(tp As TabPane, width As Double, height As Double)
        
    Dim jo As JavaObject = tp
        jo.RunMethod(
    "setTabMinWidth"Array(width))
        jo.RunMethod(
    "setTabMinHeight"Array(height))
    End Sub
     
  12. delozoya

    delozoya Member Licensed User

    Thank Erel, It work.
     
  13. CHAUVET

    CHAUVET Member Licensed User

    Hello everyone,

    In tabpane with 4 tabpage I have 4 headers (tab1 / tab2 / tab3 / tab4)

    How can we do for a TAB HEADER is not clickable?
    Move from tab enabled to disable stat of tab item ?

    For example:

    Public Tabpane1 As TabPane
    Tabpane1.header(1).enabled = false '(This code is wrong it's just for example)


    thank you,
     
  14. Erel

    Erel Administrator Staff Member Licensed User

    You can disable all tabs except of one tab:
    Code:
    Sub DisableAllTabsExceptOf(TabPane As TabPanepage As TabPage)
       
    For Each tp As TabPage In TabPane.Tabs
         
    Dim jo As JavaObject = tp
         jo.RunMethod(
    "setDisable"Array(tp <> page))
       
    Next
    End Sub
    Use this sub to disable all tabs except of the one you want to show.
     
  15. CHAUVET

    CHAUVET Member Licensed User

    Big thanks Erel,
    Have a nice day,
     
  16. StarinschiAndrei

    StarinschiAndrei Active Member Licensed User

    Hi ,

    How can i set the image height and width if i load the image from database ?
    my code :
    Code:
    inputstreamDept.InitializeFromBytesArray(bufferImgDept,0,bufferImgDept.Length)
                
    Dim bmpDept As Image
                bmpDept.Initialize2(inputstreamDept)
                
    page.Image=bmpDept
    on this way the image doesn't fit in tab.
    i'd like to use page.Image=fx.LoadImageSample(????,height,width)
     
    Last edited: Jun 13, 2015
  17. Erel

    Erel Administrator Staff Member Licensed User

    Create an ImageView with the desired size and set this image to the ImageView.
    Use this code to add the ImageView to the TabPage:
    Code:
    Dim jo As JavaObject = TabPage1
    jo.RunMethod(
    "setGraphic"Array(ImageView1))
     
  18. StarinschiAndrei

    StarinschiAndrei Active Member Licensed User

    Thank you it works
     
  19. StarinschiAndrei

    StarinschiAndrei Active Member Licensed User

     
  20. StarinschiAndrei

    StarinschiAndrei Active Member Licensed User

    Hi ,
    How can i make my tab page scrollable ?
    Thank you
     
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice