2012-03-04 39 views
2

我必須創建一個帶有自定義最大化/最小化和關閉按鈕的Matlab圖形窗口。爲此,我使用了JWindow窗口。我不得不添加一個JPanel,因爲這是我可以改變背景顏色的唯一方法(我不明白爲什麼會發生這種情況)。現在,我想添加Matlab uipanels組件。然而,當我嘗試這樣做,我得到以下錯誤:將Matlab組件添加到Java JWindow

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

我不知道如何解決這個問題。

+1

您不能將uipanel添加到JPanel或任何其他Java容器。一個更好的方法,儘管仍然是hacky,但會得到數字窗口的JFrame的句柄並更改那裏的按鈕。 – Kavka 2012-03-04 17:21:41

+0

非常感謝您的評論。 – julian 2012-03-16 12:24:41

回答

1

您不能將uipanel添加到JPanel或任何其他Java容器。一個更好的方法,儘管仍然是黑客,將獲得圖形窗口的JFrame的句柄,並更改那裏的按鈕。

+0

非常感謝您的回答。 – julian 2012-03-16 12:24:13