2

カスタムの最大化/最小化および閉じるボタンを備えたMatlabフィギュアウィンドウを作成する必要があります。そのために、私はJWindowウィンドウを使用します。背景色を変更できる唯一の方法であるため、JPanelを追加する必要がありました(なぜこれが発生するのかわかりません)。ここで、Matlabuipanelsコンポーネントを追加します。ただし、これを実行しようとすると、次のエラーが発生します。

??? 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);

これを修正する方法がわかりません。

4

1 に答える 1

1

uipanelをJPanelまたはその他のJavaコンテナに追加することはできません。まだハッキーですが、より良いアプローチは、FigureウィンドウのJFrameへのハンドルを取得し、そこでボタンを変更することです。

于 2012-03-16T02:58:47.177 に答える