【问题标题】:Adding Matlab components to Java JWindow将 Matlab 组件添加到 Java JWindow
【发布时间】:2012-03-22 08:15:03
【问题描述】:

我必须创建一个带有自定义最大化/最小化和关闭按钮的 Matlab 图形窗口。为此,我使用了一个 JWindow 窗口。我不得不向它添加一个 JPanel,因为这是我可以更改其背景颜色的唯一方法(我不明白为什么会发生这种情况)。现在,我想添加 Matlab uipanels 组件。但是,当我尝试这样做时,会出现以下错误:

??? Error using ==> uipanel
An object of class uipanel, can not be a child of class javax.swing.JPanel.

这是我的代码:

import javax.swing.*;
import java.awt.*;
jW = JWindow;
jW.setAlwaysOnTop(true);
jW.setSize(200,200);
jW.setLocation(0,0);
panel = javaObjectEDT('javax.swing.JPanel');
panel.setBackground(java.awt.Color.black);
jW.getContentPane().add(panel);
ph = uipanel('Parent',panel,'Units','pixels','Position',[0 0 100 100]);
jW.setVisible(true);

我不知道如何解决这个问题。

【问题讨论】:

  • 您不能将 uipanel 添加到 JPanel 或任何其他 Java 容器。一个更好的方法,虽然仍然是 hacky,是获取图形窗口的 JFrame 的句柄并更改那里的按钮。
  • 非常感谢您的评论。

标签: java matlab jpanel uicomponents jwindow


【解决方案1】:

您不能将 uipanel 添加到 JPanel 或任何其他 Java 容器。一个更好的方法,虽然仍然是 hacky,是获取图形窗口的 JFrame 的句柄并更改那里的按钮。

【讨论】:

  • 非常感谢您的回答。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-30
  • 1970-01-01
  • 1970-01-01
  • 2011-08-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多