组件未显示在JApplet Container中

时间:2013-10-20 13:16:56

标签: java swing japplet

强制将我的小程序移植到JApplet,所以我没有花时间学习JApplet真的很好,所以如果这段代码在JApplets方面不是很好的做法,请不要惊慌失措。

import javax.swing.*;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;



public class CylinderApplet extends JApplet {
private static final long serialVersionUID = 1L;

protected JTextField radiusInput = new JTextField(10);
protected JLabel meter = new JLabel("meter(s) ");
protected JTextField heightInput = new JTextField(10);
protected JLabel meter2 = new JLabel("meter(s)");
protected JTextArea resultArea = new JTextArea(2, 20);
protected JButton PerformCalculation = new JButton("Beräkna");

protected double radius;
protected double height;
protected double result;

Container c;

public void init(){
    c = getContentPane(); //Returnerar panelen vi ska lägga GUI komponenter i.
    c.setBackground(Color.green); //Byter bakgrundsfärg
    c.setFont(new Font("Verdana", Font.BOLD, 20)); //Byter typsnitt och storlek.
    resultArea.setColumns(40); //fixerar TextArea för design purposes.
    resultArea.setLineWrap(true);
    resultArea.setText("Skriv in Radius i vänstra fältet och höjd i högre fältet");

    JPanel panel1 = new JPanel();
    panel1.add(radiusInput);
    panel1.add(meter);
    panel1.add(heightInput);
    panel1.add(meter2);
    panel1.add(resultArea);
    panel1.add(PerformCalculation);

    c.add(panel1);

    PerformCalculation.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent e){
            if((radiusInput.getText().equals("")) || (heightInput.getText().equals(""))){
                resultArea.setText("Du har glömt att ange värde i både eller någon av fälten.");
            } else {
                radius = Double.parseDouble(radiusInput.getText());
                height = Double.parseDouble(heightInput.getText());
                result = Math.round(Math.PI * Math.pow(radius, 2) * height);
                resultArea.setText("The radius of the circle is: " + result);
                radiusInput.setText("");
                heightInput.setText("");
            }
        }
    });
}

}

这产生了这个:

enter image description here

但是我在顶部的那个旁边错过了一个JTextField。我无法弄清楚我在代码中出错的地方,以便该字段不显示。我正在将所有组件添加到面板中。

0 个答案:

没有答案