i am trying to display the output in jlabels for this shipping cost program i have coded. I have created individual jlabels for the package ID, weight, and shipping cost and tried to display them with the mainPanel. I had no problems making labels for the input in my designFrame method, but when I try to make new labels for the mainPanel in displayoutput they simply do not display. here is the code:
import javax.swing.*;
import java.awt.event.*;
public class shippingCharge extends JFrame implements ActionListener
{
//objects and data types created here
JPanel mainPanel = new JPanel();
JTextField packageIdentificationTextField = new JTextField(6);
JTextField poundsTextField = new JTextField(10);
JTextField ouncesTextField = new JTextField(10);
JButton displayButton = new JButton("Calculate ");
//Variables
String packageIdentificationString;
double poundDouble, ouncesDouble, poundToOunceOuncesDouble, shippingCostDouble;
public static void main(String[] args)
{
shippingCharge shippingTotal = new shippingCharge();
}
public shippingCharge()
{
designFrame();
setSize(500,500);
setVisible(true);
}
public void designFrame()
{
mainPanel.add(new JLabel("Package ID"));
mainPanel.add(packageIdentificationTextField);
mainPanel.add(new JLabel("Pounds"));
mainPanel.add(poundsTextField);
mainPanel.add(new JLabel("Ounces"));
mainPanel.add(ouncesTextField);
mainPanel.add(displayButton);
add(mainPanel);
//add listener to the object
packageIdentificationTextField.addActionListener(this);
displayButton.addActionListener(this);
}
public void getInput()
{
packageIdentificationString = packageIdentificationTextField.getText();
poundDouble = Double.parseDouble(poundsTextField.getText());
ouncesDouble = Double.parseDouble(ouncesTextField.getText());
}
public void calculateShipping()
{
final double SHIPPING_RATE = .12;
final double OUNCES_PER_POUND = 16;
poundToOunceOuncesDouble = poundDouble * OUNCES_PER_POUND;
shippingCostDouble = (poundToOunceOuncesDouble + ouncesDouble) * SHIPPING_RATE;
}
public void actionPerformed(ActionEvent evt)
{
getInput();
calculateShipping();
displayOutput();
}
public void displayOutput()
{
mainPanel.add(new JLabel("Package ID:" + packageIdentificationString));
mainPanel.add(new JLabel("Weight:" + poundDouble + "lbs" + ouncesDouble + "oz."));
mainPanel.add(new JLabel("Shipping Cost:" + shippingCostDouble));
}
}