如何让我的NetBeans的拖放控件知道它是否在NetBeans设计视图窗口或运行的应用程序内渲染?
-
29-08-2019 - |
题
我如何得到我的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");
}
}
它的工作原理 - 这是相当惊人的。
不隶属于 StackOverflow