Мне нужно создать окно фигуры 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);
Я не знаю, как это исправить.
Вы не можете добавить uipanel в JPanel или любой другой Java-контейнер. Лучшим подходом, хотя и до сих пор хакерским, было бы получить доступ к JFrame с фигурными окнами и изменить там кнопки. – Kavka
Большое вам спасибо за ваш комментарий. – julian