사용 WindowStateListener
및 WindowEvent#getNewState()
를 호출하고 Frame.ICONIFIED
에 대해 확인한다. 여기
는 예입니다 : 질문에
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Test {
public Test() {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel() {
@Override
public Dimension getPreferredSize() {
return new Dimension(300, 300);
}
};
frame.add(panel);
frame.addWindowStateListener(new WindowAdapter() {
@Override
public void windowStateChanged(WindowEvent we) {
if (we.getNewState() == Frame.ICONIFIED) {
System.out.println("Here");
}
}
});
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new Test();
}
});
}
}
저는 (매우) 늦었습니다.하지만 다른 것이 효과적이고 이것이 중요하다면, 나는 사용자 정의 최소화/최대화/등으로 꾸며지지 않은 프레임으로 갈 것입니다. 버튼. Btw, 당신은 look & feel을 오버라이드하려고 했습니까 (그 버튼들을 그리는 것은 그것으로 추측합니다) 그리고 거기에서 당신 자신의 프로세싱을 사용합니까? – Matthieu
필자는 이번 주말에 살펴볼 흥미로운 루트이지만 Look & Feel 아이디어는 유일한 실현 가능한 루트 인 것처럼 꾸며지지 않은 프레임 솔루션을 개발 중입니다. 사용 가능한 답안으로 하나 이상의 샘플을 함께 보낼 수 있다면 현상금을 줄 수 있습니다. – glenneroo