这是我的一段代码。
if (check1 != 0 && check2 != 0 && check3 != 0)
{
JOptionPane.showMessageDialog(main, "You are now signed up","Welcome", JOptionPane.INFORMATION_MESSAGE);
new HomePage();
}
虽然显示了HomePage
对话框,但未创建JOptionPane
类实例。此代码位于SignUp.java
。 HomPage
是与上述代码位于同一个包中的main
方法的类。
这是为什么?应该怎么做来实例化它?
HomePage.java看起来像这样
public class HomePage extends javax.swing.JFrame implements ActionListener {
public HomePage() {
initComponents();
}
private void initComponents() {
...
}
public static void main(String args[]) {
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new HomePage().setVisible(true);
}
});
}
}
我得到了解决方案。
我改变了
new HomePage()
至
new HomePage().setVisible(true);
它工作正常。
答案 0 :(得分:1)
showMessageDialog()
阻止代码的执行。在使用“确定”按钮或“取消”按钮取消对话框后,将执行下一行。
此外,变量h
仅在if
块中可用。如果您需要在其他地方访问它,则需要在if
之外将其声明为本地方法或类字段。
由于h
是扩展HomePage
的{{1}}实例,因此您只需将其显示为与JFrame
main()
方法中的操作相似}:
HomePage
请注意,创建类的实例和使用类的对象执行操作之间存在巨大差异。