Java: 如何从 JButton 打开 JOptionPane

Java: How to open JOptionPane from a JButton

我有一个程序有很多 JButtons 打开 jframes,我希望我的帮助按钮打开一个 JoptionPane 消息框,但每次我点击帮助按钮没有任何反应。

//Main Menu

import javax.swing.*;
// Create Main Menu page

import java.awt.event.*;
import java.awt. *;
import java.io.*;


   public class mainMenu implements ActionListener     // create new class mainMenu
{
    JFrame Start=new JFrame("Main Menu");             // name frame Main Menu
    JButton Search ;
    JButton Create;      // create new buttons
    JButton Delete;
    JButton Help;
 {
      Search=new JButton("Search for Existing Contact"); 
      Create=new JButton("Create a New Contact");           // set name of all buttons
      Delete=new JButton("Delete a Contact");
      Help=new JButton("Help");
      Search.setActionCommand("Search");
      Create.setActionCommand("Create");
      Delete.setActionCommand("Delete");
      Help.setActionCommand("Help");
      Start.setSize(510,600);       // set size of frame
      Start.add(new JLabel(new ImageIcon("mainMenuBG.jpg")));   // add background 
      Start.setVisible(true);
      Start.setLayout(null);
      Start.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
      Start.getContentPane().add(Search);
      Start.getContentPane().add(Create);     // add buttons to frame
      Start.getContentPane().add(Delete);
      Start.getContentPane().add(Help);  
      Search.setBounds(100,25,295,88);
      Create.setBounds(100,150,295,88);        // set size of buttons
      Delete.setBounds(100,275,295,88);
      Help.setBounds(100,400,295,88);
      Search.addActionListener(this);
      Create.addActionListener(this);   
      Delete.addActionListener(this);
      Help.addActionListener(this);

 }

  public void actionPerformed(ActionEvent e) {
   String command = e.getActionCommand();
     if ("Search".equals(command)) {
      Start.dispose();
      LTS B=new LTS();
  }    
     else if ("Create".equals(command)) {
      Start.dispose();
      LTS B=new LTS();
  }
     else if ("Delete".equals(command)) {
      Start.dispose();
      LTS B=new LTS();
  }
     else if ("Help".equals(command)) {
      helpPage2 B=new helpPage2();
  }
}

   public static void main(String ag[])
  {
      mainMenu B=new mainMenu();
  }


}

helpPage2 应该打开消息框

// Help Page 2

import javax.swing.JOptionPane;

public class helpPage2 {  // Create a new class helpPage

    public static void main(String[] args) {
        JOptionPane.showMessageDialog(null, "HELPPPPP PAGEE","Help", JOptionPane.INFORMATION_MESSAGE); // Create Information Message 
    }
}

不确定我错过了什么,非常感谢一些指导,其他按钮也可以使用,只是 helpPage2 不起作用。 谢谢你。

在 helpPage2 中使用构造函数而不是 main 方法

你可以这样做,

 if ("Help".equals(command)) {
//  helpPage2 B=new helpPage2();
      JOptionPane.showMessageDialog(null, "HELPPPPP PAGEE","Help", JOptionPane.INFORMATION_MESSAGE); // Create Information Message  
}

在调用对话框的方法中。

如果你有任何问题,请告诉我。