如何让我的NetBeans的拖放控件知道它是否在NetBeans设计视图窗口或运行的应用程序内渲染?

StackOverflow https://stackoverflow.com/questions/399929

我如何得到我的NetBeans拖放控件知道它是否在NetBeans设计视图窗口中呈现或运行的应用程序?

我试图做一些自定义的渲染。我认为这与根容器做。

有帮助吗?

其他提示

这是另一种方法:

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

虽然我认为

 Beans.isDesignTime() 

方法是更好的

测试

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");
}
}

它的工作原理 - 这是相当惊人的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top