Попробуйте: this.dispose()
вместо.
JPanel
не имеет этого метода, но JFrame
имеет
edit
Inваш основной, вы не называете свой кадр:
public static void main(String[] args) {
String value1;
int constant = 1, invalidNum = 0, answerParse, packNum, packPrice;
JOptionPane.showMessageDialog(null,"Hello!"+"\nWelcome to the CIT Test Program.");
JOptionPane.showMessageDialog(null,"IT WORKS!");
}
Попробуйте добавить его и увидите разницу:
public static void main(String[] args) {
String value1;
int constant = 1, invalidNum = 0, answerParse, packNum, packPrice;
JOptionPane.showMessageDialog(null,"Hello!"+"\nWelcome to the CIT Test Program.");
JOptionPane.showMessageDialog(null,"IT WORKS!");
new JFrameWithPanel(); //<-- creating a JFrameWithPanel
}
Также в методе «действие выполнено» вы показываете диалоговое окно изатем избавиться, вероятно, вы хотите сделать это наоборот.
if(serviceTerms.isSelected() == false) {
JOptionPane.showMessageDialog(null,"Please accept the terms of service.", "Terms of Service", JOptionPane.ERROR_MESSAGE);
} else {
this.dispose();
JOptionPane.showMessageDialog(null,"Thank you. We will now move on to registering your product.");
}
Результат:
main http://img194.imageshack.us/img194/7038/capturadepantalla201006x.png
Затем следует
результат http://img85.imageshack.us/img85/8513/capturadepantalla201006l.png
edit 2
Попробуйте следующий код, он должен показывать рамку, а когда вы нажимаете кнопку «закрыть», он должен показывать диалоговое окно,это то, что вы ищете?
import javax.swing.*;
import java.awt.event.*;
class FrameDemo {
public static void main( String [] args ) {
final JFrame frame = new JFrame("Main frame");
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
frame.add( new JPanel(){{
add( new JLabel("This is the main content"));
add( new JButton("Close"){{
addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e ) {
frame.dispose();
JOptionPane.showMessageDialog(frame,"IT WORKS!");
}
});
}});
}});
frame.pack();
frame.setLocationRelativeTo( null );
frame.setVisible( true );
}
}