强制将我的小程序移植到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("");
}
}
});
}
}
这产生了这个:
但是我在顶部的那个旁边错过了一个JTextField。我无法弄清楚我在代码中出错的地方,以便该字段不显示。我正在将所有组件添加到面板中。