【问题标题】:How to create a general action that changes tabs in GUI?如何创建在 GUI 中更改选项卡的常规操作?
【发布时间】:2016-04-27 13:03:47
【问题描述】:

我的代码中有几个 actionListener,当我按下按钮时,它会在我拥有的选项卡之间更改选项卡。 但是,我想创建一个一般操作,根据按下的按钮(通过一个 int),它更改为不同的选项卡。这是我当前拥有的 actionListener。

    JButton btnSaveAddESS = new JButton("Save");
    btnSaveAddESS.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {

            tabbedBackground.setSelectedIndex(0);
            tabbedBackground.setEnabledAt(1, false);    
        }
    });

有了这个,我想创建一个通用动作,但是,在将动作创建为不同的类时,我无法访问 TabbedPane (tabbedBackground) 组件。

如何实现这一点,避免 actionListeners?

谢谢, 尼卡斯

【问题讨论】:

    标签: java swing action


    【解决方案1】:
    changeTab(int i){
     tabbedBackground.setSelectedIndex(i);
     tabbedBackground.setEnabledAt(i, false); 
    }
    
    public void actionPerformed(ActionEvent e) {
    int i = Integer.parseInt(Jbutton.getText());
    changeTab(int i); 
            }
    

    你需要的实际上是一个处理操作的方法,将一个int传递给方法changetab,该方法将改变selectedTab

    【讨论】:

    • 感谢您的回复,现在,我只是在不同的动作侦听器中调用该函数,对吗?但是,是否可以完全避免 actionListerners?
    • 它是一种您可以从任何地方调用它的方法。您需要担心的是传递正确的 int 值,否则您可能会出错。
    猜你喜欢
    • 2011-08-13
    • 2016-05-08
    • 1970-01-01
    • 1970-01-01
    • 2012-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-17
    相关资源
    最近更新 更多