이 코드가있는 JDesktopPane이 있습니다.다른 JInternalFrame을 호출하는 JInternalFrame을 관리하는 방법은 무엇입니까?
public class Menu extends JFrame implements ActionListener{
/**
* Creates new form Portada
*/
public static JDesktopPane desktop;
public JDesktopPane getDesktop() {
return desktop;
}
public Menu() {
desktop = new JDesktopPane();
setContentPane(desktop);
desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
initComponents();
}
}
는 나는이
desktop.add(orden);
같은 새로운 구성 요소를 추가하고 내가 그들을 호출 할 때 나는
if(e.getSource()==jMenuItem1_1){
orden.setVisible(true);
desktop.setSelectedFrame(orden);
desktop.moveToFront(orden);
try {
orden.setSelected(true);
} catch (PropertyVetoException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
을 사용하여 내가 할 문제는 "오든"경우에 싶어합니다 다른 JInternalFrame을 튀어 나와 다음 코드를 사용합니다.
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: illegal component position
내가 DesktopPane 새 JInternalFrame를 추가해야합니다 :
searchSupplier.setVisible(true);
Main.getInstance().getPortada().getDesktop().add(searchSupplier);
Main.getInstance().getPortada().getDesktop()
.moveToFront(searchSupplier);
try {
searchSupplier.setSelected(true);
} catch (PropertyVetoException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
나는 이벤트를 2 회 이상 실행
난 다음 오류가? Orden에게? 또는이 오류를 해결하려면 어떻게해야합니까?
하십시오를 추가 할 필요가 있는지 결정하기 위해
getParent
를 사용해보십시오 ... – Washu어떻게 seatchSupplier이 만들어집니다? 메서드를 호출하거나 동일한 인스턴스를 사용할 때마다 새 인스턴스를 만듭니다. – MadProgrammer
동일한 인스턴스를 사용하고 있습니다. – Washu