나는 안에 JPanel
을 가지고 있으며 desktopPane의 크기가 변경되면 자동으로 패널의 크기를 조정해야합니다.JPanel을 사용하지 않고 자동으로 크기를 조정합니다. BorderLayout.CENTER
패널의 크기는 항상 desktopPane
과 같아야합니다. BorderLayout.CENTER
을 사용할 수 없으므로 desktopPane
안에 다른 프레임의 크기를 조정할 수 없기 때문에 사용할 수 없습니다.
감사
나는 안에 JPanel
을 가지고 있으며 desktopPane의 크기가 변경되면 자동으로 패널의 크기를 조정해야합니다.JPanel을 사용하지 않고 자동으로 크기를 조정합니다. BorderLayout.CENTER
패널의 크기는 항상 desktopPane
과 같아야합니다. BorderLayout.CENTER
을 사용할 수 없으므로 desktopPane
안에 다른 프레임의 크기를 조정할 수 없기 때문에 사용할 수 없습니다.
감사
를 사용하여 패널 전체 desktopPane에 걸쳐해야하며, 또 다른 프레임이 있습니다
JDesktopPane desktop = ...;
JPanel p = ...;
ComponentListener cl = new ComponentAdapter() {
public void componentResized(ComponentEvent ce) {
//reset your panel size here
}
}
desktop.addComponentListener(cl);
desktopPane의 색상이 변경된시기를 알기 위해 일부 청취자를 알고 있습니까? 이 청취자가 크기가 언제 바뀌 었는지 알고 싶습니까? – computered
PropertyChangeListener를 사용해보십시오. 작동하지 않을 수도 있습니다. 그렇지 않은 경우, JDesktopPane를 서브 클래스 화해, setColor 메소드를 오버라이드 (override) 해 PropertyChangeListener 또는 독자적인 커스텀 리스너로 기능 할 수 있습니다. – ControlAltDel
있는 ComponentListener/어댑터? 나는 당신이 정확히 무엇을 성취하려고하는지 분명히해야한다고 말하고 싶습니다. – Thomas
나는 desktopPane을 가지고 있으며 내부에 JPanel을 넣어야합니다. JPanel은 항상 같은 크기의 desktopPane 일 필요가 있습니다. 그리고 desktopPane 안에 다른 프레임을 열 수 있습니다. – computered