GUI에 창을 닫아야하는 버튼이 있습니다. 그러나 해당 이벤트 처리기는 JFrame
의 별도 메서드에있는 AbstractAction
하위 클래스에 있습니다. 이 때문에 내 AbstractAction
에서 닫으라고 JFrame
에게 말할 수있는 방법을 볼 수 없습니다.다른 방법으로 하위 클래스에서 JFrame을 닫는 방법?
는 Heres는 내 코드의 기본 레이아웃 :
public PointWindow()
{
initialize();
}
public void initialize()
{
JFrame frame = new JFrame();
// JFrame stuff
frame.setContentPane(createGUI());
frame.setVisible(true);
}
public JPanel createGUI()
{
JPanel gui = new JPanel();
// Code....
class MakeGraphACT extends AbstractAction
{
public void actionPerformed(ActionEvent e)
{
frame.setVisible(false); // <--- How to get this to work?
frame.dispose(); // <---
new GraphWindow(pointList);
}
}
//Code...
return gui;
}
나는 내 코드를 계획하고 나쁜 일을하거나 그냥 뭔가를 분명 실종?
사용자에게 여러 개의 창을 던지고 싶습니까? 실생활에서이 작업을 수행하는 많은 응용 프로그램의 이름을 지정할 수 있습니까? 답변 : 만족할만한 사용자 인터페이스가 아니기 때문에 그리 많지는 않습니다. 아마 당신은 오히려 CardLayout 대신에 견해를 바꿀 것입니다. –
두 개의 창으로 구성된 정말 간단한 프로그램입니다. 나는 네가하는 말을 이해하지만, 그런 작은 응용 프로그램에는 필요하지 않다고 생각한다. – Thrfoot