java - 如何以编程方式设置 TopComponent 的大小?

标签 java netbeans-platform

如何以编程方式设置使用 Netbeans 平台应用程序 在编辑器模式下打开的 TopComponent 窗口的大小?我已经在构造函数中尝试了 setSize(500,500) 但它不起作用。

最佳答案

我不太确定这是否有帮助,但模块可以包含对 layer.xml 中设置的更改,这些更改会更改模式起始位置的大小/位置。您的顶部组件将停靠在其中一种模式中,因此更改其大小应该会更改您的顶部组件的大小。

例如模块中的layer.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd">
<filesystem>
    <folder name="Windows2">
        <folder name="Modes">
            <file name="editor.wsmode" url="modesettings.xml"/>
        </folder>
    </folder>
</filesystem>

这指向同一目录中的 modesettings.xml。

<?xml version="1.0" encoding="UTF-8"?>
<mode version="2.4">
    <module name="org.netbeans.core.ui/1" spec="1.2"/>
    <name unique="editor"/>
    <kind type="view"/>
    <state type="separated"/>
    <constraints>
        <path orientation="horizontal" number="20" weight="0.3"/>
        <path orientation="vertical" number="20" weight="0.5"/>
    </constraints>
    <bounds x="137" y="192" width="660" height="200"/>
    <frame state="0"/>
    <empty-behavior permanent="true"/>
</mode>

您还可以在启动时更改模式范围,如下所示:

@OnShowing
public class ModeBoundsSetter implements Runnable {

    @Override
    public void run() {
        WindowManager wm = WindowManager.getDefault();
        Mode mode = wm.findMode("editor");
        if(null != mode) {
            mode.setBounds(new Rectangle(0,0,2000,100));
        }
    }
}

关于java - 如何以编程方式设置 TopComponent 的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33335946/

相关文章:

java - Google App Engine 退回通知不起作用

java - 如何在 netbeans 中增加 JVM 的堆空间

java - Java Swing 应用程序与 Netbeans 平台 Swing 之间的区别

java - 如何在 Netbeans 7 中附加缺少的 Java JDK 源

java - 实现多个接口(interface)时尽量减少代码重复

java - swing中Timer和TimerTask的区别

java - 选择器、轮询、Netbeans 平台应用程序和性能分析解释

netbeans - 将 Netbeans RCP 与 Google Guice 结合使用

java - onActivityResult 没有被触发

java - 正则表达式仅在两个字符串之间包含空格