2016-03-03 46 views
-1

我要推/調用從StateChanged方法到另一個類或私有方法選定的選項卡索引值,我怎麼能做到這一點,如何將StateChanged方法的getSelectedIndex值推送/調用到另一個方法/類?

private class TabSelect implements ChangeListener { 
    @Override 
    public void stateChanged(ChangeEvent e) { 
     JTabbedPane source = (JTabbedPane) e.getSource(); 
     if (source.getSelectedComponent() != null) { 
      source.getSelectedIndex(); 

     } 

    } 
} 

我想要把這個指標值以下方法(或另一個公共課程在同一個包中)。這個怎麼做?

private JPanel CreateSlice() { 

     JPanel Slice = new JPanel(); 
     Slice.setPreferredSize(new Dimension(550, 600)); 
     Slice.add(button); 
     return Slice; 

    } 

這是CreateSlice的功能,

private class TabPlus implements ActionListener { 
    @Override 
    public void actionPerformed(ActionEvent e) { 
     JPanel panel = CreateSlice(); 
     String title = "Slice " + String.valueOf(pane.getTabCount()); 
     pane.insertTab(title, null, panel, null, pane.getTabCount() - 1); 
    } 
} 
+0

你通過類之間的任何變量用同樣的方法,使用方法 – MadProgrammer

+0

Thanks @MadProgrammer,我有一個疑問,如果你能幫助我,我是一個新手,已經通過了整整一週的時間關於它。我會發佈一個問題。 – nothingSpecial

+0

[將信息傳遞給方法或構造函數](https://docs.oracle.com/javase/tutorial/java/javaOO/arguments.html) – MadProgrammer

回答

0
@Override 
public void stateChanged(ChangeEvent e) { 
    JTabbedPane source = (JTabbedPane) e.getSource(); 
    if (source.getSelectedComponent() != null) { 
     int index = source.getSelectedIndex(); 
     CreateSlice(index); 
    } 

} 



public JPanel CreateSlice(int index) { 
     //do whatever you want with index 
     JPanel Slice = new JPanel(); 
     Slice.setPreferredSize(new Dimension(550, 600)); 
     Slice.add(button); 
     return Slice; 

    } 

請注意,您CreateSlice方法應該是公共

+0

但是我在調​​用此CreateSlice以在ActionListener方法中創建面板,如果我設置int index作爲參數,那麼它顯示錯誤, 我在給我的問題, – nothingSpecial

0
int index = source.getSelectedIndex(); // Save it to variable 

createSlice(index); // pass it into new method, follow camelCase for bestPractice 

private JPanel createSlice(int index) { 
    //your implementation 
} 
+0

但我的CreateSlice正在使用ActionListener創建面板。如果我設置int index作爲參數,它會在那裏顯示錯誤。 – nothingSpecial

+0

那麼你想怎樣處理你的索引,在課堂上創建其他公共方法。 –

+0

非常感謝。我有一種情況,因爲我不知道如何做到這一點,有一個addTab方法來使用加號按鈕添加選項卡,此方法調用CreateSlice方法來創建選項卡面板。現在我想在這些標籤面板上創建一些組件。這些面板在不同的選項卡中可能有不同的組件我能解釋一下嗎?我怎麼能做到這一點,任何想法? – nothingSpecial

相關問題