如何在运行时更改JTabbedpane组件的属性?

时间:2013-11-21 15:09:27

标签: java swing jtabbedpane jcomponent

我正在创建一个tabbedpane

tabs= new JTabbedPane();
tabs.addChangeListener(new ChangeListener() {
    @Override
    public void stateChanged(ChangeEvent e) {
          JTabbedPane sourceTabbedPane = (JTabbedPane) e.getSource();
          int index = sourceTabbedPane.getSelectedIndex();
          sourceTabbedPane.getTabComponentAt(index).getComponentAt(0).setForeground(Color.RED);

});

tabs.setTabComponentAt(0, new JLabel("tab1"));
tabs.setTabComponentAt(0, new JLabel("tab2"));

我收到此错误:

类型Component中的方法getComponentAt(Point)不适用于参数(int)

如何获取我在selectedTab上放置的LABEL?我想在标签上设置前景。

EDIT 1

我在运行时也遇到空指针错误。

1 个答案:

答案 0 :(得分:0)

Component.getComponentAt接受Point个对象或两个整数int x, int y,它会在该位置查找子组件。

http://docs.oracle.com/javase/6/docs/api/java/awt/Component.html