在我的java类的JFrame实验室工作。我的程序还没有完成,但我需要一些帮助,为什么男性和女性的JFrame在点击男性或女性JButton后没有显示。任何帮助将不胜感激。
这是我的计划:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
public class Lab4EC extends JFrame implements ActionListener
{
private static final int Width = 500;
private static final int Height = 200;
private JLabel bodyweightJL,wristmeasurementJL,waistmeasurementJL,hipmeasurementJL,forearmJL,bodyfatJL;
private JTextField bodyweightTF,wristmeasurementTF,waistmeasurementTF,hipmeasurementTF,forearmTF,bodyfatTF;
private JButton maleJB,femaleJB,calculateJB,exitJB;
double A1,A2,A3,A4,A5,a1,a2,b,B,bodyWeight,wristMeasurement,hipMeasurement,forearmMeasurement,waistMeasurement,fbodyFat,mbodyFat,fbodyFP,mbodyFP;
Container pane = getContentPane();
public Lab4EC ()
{
setTitle ("Body Fat Calculator");
maleJB = new JButton ("Male");
femaleJB = new JButton ("Female");
pane.setLayout (new GridLayout (2,1));
pane.add(maleJB);
pane.add(femaleJB);
maleJB.addActionListener(this);
femaleJB.addActionListener(this);
setSize(Width, Height);
setVisible (true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand().equals("Male")){
bodyweightJL = new JLabel ("Enter Body Weight: ", SwingConstants.RIGHT);
waistmeasurementJL = new JLabel ("Enter Waist Measurement: ", SwingConstants.RIGHT);
bodyfatJL = new JLabel ("Your Body Fat Percentage Is: ", SwingConstants.RIGHT);
bodyweightTF = new JTextField(10);
waistmeasurementTF = new JTextField(10);
calculateJB = new JButton ("Calculate");
pane.setLayout (new GridLayout (4,2));
pane.remove(maleJB);
pane.remove(femaleJB);
pane.add(bodyweightJL);
pane.add(waistmeasurementJL);
pane.add(bodyfatJL);
pane.add(calculateJB);
pane.add(bodyweightTF);
pane.add(waistmeasurementTF);
pane.add(bodyfatTF);
calculateJB.addActionListener(this);
exitJB.addActionListener(this);
setSize(Width, Height);
setVisible (true);
if(e.getActionCommand().equals("Calcualate")){
a1 = (bodyWeight*1.082)+94.42;
a2 = waistMeasurement*4.15;
b = a1-a2;
mbodyFat = bodyWeight - b;
mbodyFP = mbodyFat*100/bodyWeight;
}
}
else {
bodyweightJL = new JLabel ("Enter Body Weight: ", SwingConstants.RIGHT);
wristmeasurementJL = new JLabel ("Enter Wrist Measurement: ", SwingConstants.RIGHT);
waistmeasurementJL = new JLabel ("Enter Waist Measurement: ", SwingConstants.RIGHT);
hipmeasurementJL = new JLabel ("Enter Hip Measurement: ", SwingConstants.RIGHT);
forearmJL = new JLabel ("Enter Forearm Measurement: ", SwingConstants.RIGHT);
bodyfatJL = new JLabel ("Your Body Fat Percentage Is: ", SwingConstants.RIGHT);
calculateJB = new JButton ("Calculate");
bodyweightTF = new JTextField(10);
wristmeasurementTF = new JTextField(10);
waistmeasurementTF = new JTextField(10);
hipmeasurementTF = new JTextField(10);
forearmTF = new JTextField(10);
bodyfatTF = new JTextField(10);
pane.setLayout (new GridLayout (7,2));
pane.remove(maleJB);
pane.remove(femaleJB);
pane.add(bodyweightJL);
pane.add(wristmeasurementJL);
pane.add(waistmeasurementJL);
pane.add(hipmeasurementJL);
pane.add(forearmJL);
pane.add(bodyfatJL);
pane.add(bodyweightTF);
pane.add(wristmeasurementTF);
pane.add(waistmeasurementTF);
pane.add(hipmeasurementTF);
pane.add(forearmTF);
pane.add(bodyfatTF);
pane.add(exitJB);
calculateJB.addActionListener(this);
exitJB.addActionListener(this);
setSize(Width, Height);
setVisible (true);
}
}
public static void main (String[] args)
{
Lab4EC rectObject = new Lab4EC ();
}
}
答案 0 :(得分:1)
它允许您轻松交换框架中的面板。
答案 1 :(得分:0)