JAVA高手来看看 很简单的

来源:百度知道 编辑:UC知道 时间:2024/05/29 15:18:21
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class klz extends JFrame
{ private JLabel lengthL,widthL,areaL,perimeterL;
private JTextField lengthTF,widthTF,areaTF,perimeterTF;
private JButton calculateB,exitB;
private k cbHandler;
private l ebHandler;
private static final int WIDTH=400;
private static int HEIGHT=300;

public klz()
{lengthL=new JLabel("Enter the length:",SwingConstants.RIGHT);
widthL=new JLabel("Enter the width:",SwingConstants.RIGHT);
areaL=new JLabel("Area:",SwingConstants.RIGHT);
lengthTF=new JTextField(10);
widthTF=new JTextField(10);
areaTF=new JTextField(10);
perimeterTF=new JTextField(10);

calculateB=new JButton("Calculate");
cbHandler=new k();
calculateB.addActionListener(cbHandler);

exitB=new JButton("Exit");

变量perimeterL没有初始化

大哥 虽然说程序可以默认执行构造器 但是我认为你要在init()方法里面进行初始工作

在mian()中 bbs.init()就行了

pane.add(perimeterL);

改为

pane.add(perimeterTF);

private JLabel lengthL,widthL,areaL,perimeterL;
这里你声明了perimeterL
但是你没有实例化 perimeterL是null
你在这里:pane.add(perimeterL); 调用 就出错了
调用之前先实例化 perimeterL = new JLabel("perimeterL:", SwingConstants.RIGHT);
就ok了