[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 501
  • Last Modified:

disable JTabbedPane

Hi,


I have a JTabbedPane with 3 JPanels and one JTabbedPane...

JTabbedPane  main = new JTabbedPane();
JPanel            a1    = new JPanel();
JPanel            a2    = new JPanel();
JPanel            a3    = new JPanel();
JTabbedPane  b_main = new JTabbedPane();
JPanel            b1    = new JPanel();
JPanel            b2    = new JPanel();

main.add("a1", a1);
main.add("a2", a2);
main.add("a3", a3);
main.add("b menu", b_main);
b_main.add("b1", b1);
b_main.add("b2", b2);

If I have two JButtons, button1 and button2, in my b1...and when I click button1, I will process some function, at the same time, I don't want users to change tabs...how can I do so??
0
xenia27
Asked:
xenia27
  • 7
  • 3
  • 2
  • +1
1 Solution
 
zzynxSoftware engineerCommented:
First, try if

         main.setEnabled(false);

helps.
0
 
zzynxSoftware engineerCommented:
This can certainly help:

       void setEnabledAt(int index, boolean enabled) : Sets whether or not the tab at index is enabled.
0
 
zzynxSoftware engineerCommented:
>> I don't want users to change tabs
So you could disable all tabs:

for (int i=0; i<main.getTabCount(); i++)
    main.setEnabledAt(i, false);

And afterwards enable them again (replace false by true in the above)
0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
NaeemgCommented:
Do u want to display any tab strip when user clicks on button?
if so, then
suppose u want to show the panel, 'a1' when uer clicks button.

main.setSelectedComponent(a1);
OR
main.setSelectedIndex(0)

if u want to disable then
main.setEnabled(true)


Naeem Shehzad Ghuman
0
 
zzynxSoftware engineerCommented:
>>if u want to disable then           // *disable*
>>main.setEnabled(true)             // true???


0
 
expertmbCommented:
this should be sufficient no need to go for each tab.
in action performed set false once processing is over then enable tab by setting true flag.
setEnabled(boolean enabled)
0
 
xenia27Author Commented:
mMm...I'm confused...
OK...I have two layers of JTabbedPane, right?  And when I click on button1 which is in b1...I would like to disable all other tabs...a1, a2, a3, and b2...the only thing will work is button1 and button2...

If I would like to use setEnabledAt, should I do this?
main.setEnabledAt(index, false); and b_main.setEnabledAt(index, false); right???
0
 
xenia27Author Commented:
OK...I got what I want with setEnabledAt...but I'm confused about the index part...
I mean the second layer....how can I count the index?  like what's the index number of b2???
0
 
zzynxSoftware engineerCommented:
>>b_main.add("b1", b1);
>>b_main.add("b2", b2);

The index of b2 in b_main is 1 (of b1 is 0)
0
 
zzynxSoftware engineerCommented:
So, when clicking the button:

for (int i=0; i<main.getTabCount(); i++)
    main.setEnabledAt(i, false);

b_main.setEnabledAt(1, false);  // to disable b2
0
 
xenia27Author Commented:
OK...I got it...Thanks~~~~~  ^__^
0
 
zzynxSoftware engineerCommented:
Thank you
0
 
expertmbCommented:
you would have done it by setting the tabbedpane to flag false and true.
0

Featured Post

Take Control of Web Hosting For Your Clients

As a web developer or IT admin, successfully managing multiple client accounts can be challenging. In this webinar we will look at the tools provided by Media Temple and Plesk to make managing your clients’ hosting easier.

  • 7
  • 3
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now