0

首先,我使用 netbeans 作为我的 IDE,我不知道这是否是导致它的原因。当我运行我的程序时(即使我已经构建并运行了 .jar),我认为它会选择之前选择的选项卡(退出之前)。因此,例如,如果我在选择第三个选项卡的情况下关闭应用程序,它会以再次选择的选项卡启动。对此有已知的解决方案吗?jTabbedPane 上的 selectedIndex 属性设置为 0。该属性不应该是默认的 onLoad 值吗?

提前谢谢,吉米

PS。顺便说一句,由于某种原因,它没有在 Opera 中提交我的问题(?)

4

6 回答 6

4
tabbedPaneName.setSelectedIndex(0);

如果按钮动作将加载选项卡式窗格,只需将该行放在将加载选项卡式窗格的位置,然后将行放在那里,但将 tabbedPaneName 更改为您的选项卡式窗格名称。

于 2010-10-27T04:03:56.237 回答
0

可以将其设置为非零索引的唯一方法是 Java 代码包含:

tabbedPane.setSelectedIndex(...);

所以搜索该行的源代码并修复它。

于 2010-03-02T20:33:37.660 回答
0

除了使用之外JTabbedPane.setSelectedIndex(),还可以通过调用来选择选项卡JTabbedPane.setSelectedComponent()。你也搜索过代码setSelectedComponent()吗?

于 2010-03-04T04:11:16.793 回答
0

Netbeans 6.8 和 JTabbedPane 也存在同样的问题。setSelectedIndex()setSelectedComponent()都没有区别。getSelectedIndex()返回先前设置的值,但未正确选择窗格。

这样做的原因是SingleFrameApplication保存它的状态并在下次重新启动时恢复保存的状态。这是在 GUI 构建器生成的代码中完成的。您可以看到SingleFrameApplication 的startup()configureWindow()方法被覆盖。

解决方法:

  1. 您也可以覆盖shutdown()方法,然后不会保存对配置的修改。请注意,原始文件仍将恢复,因此请确保保存所需的配置。

  2. 修改startup()方法也有帮助:

我的视图我的视图 = 新的我的视图(这个);
myView.getFrame().setVisible(true);
myView.getFrame().pack();
于 2010-05-28T11:49:29.760 回答
0

我遇到了同样的问题,并找到了一个简单的解决方法。在 netbean 的 GUI-builder 中,我将 tabbedpane 设置为未启用。后来在我的程序中,我检查了它是否未启用,在这种情况下称为 MyTabbedPane.setEnabled(true); 和 MyTabbedPane.setSelectedIndex(0);

于 2012-04-11T21:26:46.100 回答
0

同样的问题。必须回到 NetBeans 7.0.1 来更新 JSR 296 应用程序,Java 7 运行它的方式与以前的版本不同,所以最后创建的选项卡始终是焦点所在。无法在构造函数中更改它,但最终发现只需将相同的调用 ( setSelectedIndex()) 包装在调用中即可invokeLater()解决它。

    SwingUtilities.invokeLater(
      new Runnable() {
        public void run() {
          tabMain.setSelectedIndex(0);
        }
      }
    );
于 2012-12-15T00:09:37.800 回答