测试以查看JPanel是否已关闭

时间:2014-02-01 05:36:36

标签: java swing jframe jpanel jbutton

所以基本上这个程序会像这样工作。第一个窗口出现,并询问2个按钮是否要继续程序或退出程序。如果您选择继续,则程序继续执行if语句中的任何内容。

import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JPanel;
import javax.swing.*;
import java.awt.*;
import java.util.Scanner;
import java.io.*;
import javax.swing.border.EmptyBorder;
import java.awt.event.*;
 public class Herons extends JFrame implements ActionListener {
 public static JTextField a;
 public static JTextField b;
 public static JTextField c;
 public static JFrame main = new JFrame("Herons Formula");
 public static JPanel myPanel = new JPanel(new GridLayout (0,1));
public static void main(String args[]){
     //splashscr();
     Herons object = new Herons();
    }

Herons(){
    main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    JPanel myPanel1 = new JPanel(new GridBagLayout());
    myPanel.setPreferredSize(new Dimension(515,125));
    JLabel lab1 = new JLabel(
    ("Herons Formula uses the lenghts of the sides of a triangle to calculate its area."));
    main.add(myPanel);
    lab1.setHorizontalAlignment(JLabel.CENTER);
    myPanel.add(lab1);
    JButton button1 = new JButton("Use the Formula!");
    button1.setPreferredSize(new Dimension(20, 20));
    JButton button2 = new JButton("Exit the program");
    myPanel.add(button1);
    myPanel.add(button2);
    button1.addActionListener(this);
    button2.addActionListener(this);
    main.pack();
    main.setVisible(true);
//Not really sure what to do with this
    if (myPanel1.hasBeenDisposed()){
    //JFrame main = new JFrame("Herons Formula");
    main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    //JPanel myPanel = new JPanel(new GridLayout (0,1));
    //JPanel pane = new JPanel(new GridLayout(0,1));

    myPanel.setPreferredSize(new Dimension(325,275));

    a = new JTextField(3);
    b = new JTextField(3);
    c = new JTextField(3);
    JButton find = new JButton("Calculate!");

    main.add(myPanel);
    myPanel.add(new JLabel ("Input the lengh of each side of the triangle"));
    main.add(myPanel);
    myPanel.add(new JLabel ("Side A:"));
    myPanel.add(a);

    myPanel.add(new JLabel ("Side B:"));
    myPanel.add(b);

    myPanel.add(new JLabel ("Side C:"));
    myPanel.add(c);

    myPanel.add(find);
    //find.setActionCommand("Calculate!");
    find.addActionListener(this);
    main.pack();
    main.setVisible(true);
}
}
 public void actionPerformed(ActionEvent e) {
  String actionCommand = ((JButton) e.getSource()).getActionCommand();
    //System.out.println("Action command for pressed button: " + actionCommand);
    if (actionCommand == "Calculate!") {

     main.setVisible(false);
     myPanel.setVisible(false);
     main.dispose();

    double aaa = Double.parseDouble(a.getText());
    double bbb = Double.parseDouble(b.getText());
    double ccc = Double.parseDouble(c.getText());
    double s = 0.5 * (aaa + bbb + ccc);
    double area = Math.sqrt(s*(s-aaa)*(s-bbb)*(s-ccc));
    area = (int)(area*10000+.5)/10000.0;
    if (area == 0){
        area = 0;
    }
     JOptionPane.showMessageDialog(this, "The area of the triangle is: " + area,"Herons Formula", JOptionPane.PLAIN_MESSAGE);

  }
   if (actionCommand ==  "Use the Formula!" ){
        myPanel1.setVisible(false);
    } 
    if (actionCommand == "Exit the program"){
        System.exit(0);
    }
}
}

0 个答案:

没有答案