I am coding a reversi game as a java applet. I am using modal dialogs to inform the user if they beet the computer. I can close the dialog by the window decorations 'close', I want to hide the decoration and have my own close button-
The dialog displays correctly, but doesn't close with the button
Code:
import java.applet.*; import java.lang.*; import javax.swing.*; import java.awt.*; import java.net.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent;
Code:
private Frame findParentFrame(){ Container c = this; while(c != null){ if (c instanceof Frame) return (Frame)c; c = c.getParent(); } return (Frame)null; }
Code:
public void endGame(){ Frame f = findParentFrame(); final JDialog dialog = new JDialog(f, "Game Over", true); JButton close = new JButton("Play Again"); if (counter_black > counter_white) { dialog.setLayout(new GridLayout(2, 1)); dialog.add( new Label("You\nWon!") ); dialog.add( close ); dialog.pack(); } else if (counter_black < counter_white) { dialog.setLayout(new GridLayout(2, 1)); dialog.add( new Label("You\nLost!") ); dialog.add( close ); dialog.pack(); } else { dialog.setLayout(new GridLayout(2, 1)); dialog.add( new Label("Draw!") ); dialog.add( close ); dialog.pack(); } dialog.setLocationRelativeTo(null); dialog.setVisible(true); repaint(); close.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { dialog.setVisible(false); } }); }
Comment