0

如何让我的 netbeans 拖放小部件知道它是在 netbeans 设计视图窗口还是正在运行的应用程序中呈现?

我正在尝试做一些自定义渲染。我认为这与根容器有关。

4

3 回答 3

0

试试java.beans.Beans.isDesignTime()

于 2008-12-30T13:03:41.933 回答
0

这是另一种方法:

Component c = javax.swing.SwingUtilities.getRoot(this);
String className = c.getClass().getCanonicalName();
if (!"org.netbeans.core.windows.view.ui.MainWindow"
    .equalsIgnoreCase(className)) {

虽然我认为

 Beans.isDesignTime() 

方法更好

于 2008-12-31T05:34:43.727 回答
0

测试

Beans.isDesignTime()

用下面的例子

package test;

import java.awt.Graphics;
import java.beans.Beans;

import javax.swing.JLabel;

public class TestLabel extends JLabel {
private static final long serialVersionUID = -2438507032083091628L;

public TestLabel() {
    super();
}

public void paint(Graphics g) {
    super.paint(g);

    if (Beans.isDesignTime()) 
        this.setText("Design Time");
    else
        this.setText("Production runtime");
}
}

它有效——这太不可思议了。

于 2008-12-31T05:36:42.257 回答