Java外观类UI指向错误的类

时间:2018-02-15 18:58:32

标签: java look-and-feel

我正在尝试自己的外观和感觉,但是当我尝试创建任何UI时,它指向错误的位置。

当我尝试将其添加到UIDefaults时:

    import javax.swing.plaf.basic.BasicTreeUI;

    public class TreeUI extends BasicTreeUI{

        @Override
        public String toString() {
            return "Test run!";
        }

    }

然后我创建的JTree对象获取BasicTreeUI对象。但奇怪的是,如果我尝试使用它:

import javax.swing.plaf.metal.MetalTreeUI;

public class TreeUI extends MetalTreeUI {

    @Override
    public String toString() {
        return "Test run!";
    }

}

JTree改为获取MetalTreeUI对象。这与任何其他更改无关。在两种情况下,toString都不会覆盖。

如何正确实现为JTree使用TreeUI对象的TreeUI?

Caller for reference(class extends MetalLookAndFeel):

@Override
protected void initClassDefaults(UIDefaults table) {
    super.initClassDefaults(table);
    table.put("TreeUI", "someCorrectPath.TreeUI");
}

编辑:当我尝试将TreeUI放在包装器中时,它仍然默认为MetalTreeUI或BasicTreeUI,而不是仅仅获取当前正在扩展的内容。

0 个答案:

没有答案