클릭 한 버튼에 따라 숫자가 제곱되고 뿌리를 내리는 간단한 Java 응용 프로그램을 작성했습니다. 일단 콘솔을 실행하면 빌드가 성공적이라고 표시되지만 아무 것도 표시되지 않습니다. > 세트 구성 - -> 사용자 정의 프로젝트 (커피 컵 아이콘)의 이름에 탭 '프로젝트', 마우스 오른쪽 버튼을 클릭에, 프로젝트의 주요 클래스와 JFrame의 설정 :JFrame이 Netbeans에 나타나지 않습니다.
package lab11;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Problem1 extends JFrame implements ActionListener {
int n;
JTextField enter;
JTextField result;
JButton sqrt;
JButton square;
JLabel l1;
JLabel l2;
public static void main(String[] args){
Problem1 exercice = new Problem1();
exercice.setSize(500, 500);
exercice.setVisible(true);
exercice.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
exercice.show(true);
}
public Problem1(){
super("Square Root");
setLayout(new GridLayout(3,2));
l1 = new JLabel("Enter N:");
l2 = new JLabel("Result:");
sqrt = new JButton("SQRT");
square = new JButton("SQUARE");
square.addActionListener(this);
sqrt.addActionListener(this);
n = Integer.parseInt(enter.getText());
add(l1);
add(enter);
add(l2);
add(result);
add(sqrt);
add(square);
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource() == square)
result.setText(String.valueOf(n*n));
if(e.getSource()== sqrt)
result.setText(String.valueOf(Math.sqrt(n)));
}
}
나는'n = Integer.parseInt (enter.getText());에서 예외가 있다고 생각한다.'enter'는'null'이다. ('getText()가 아닌 경우'a 'int'로 변환 할 수없는 빈'String') – MadProgrammer
'JTextField enter'는 아마도'JSpinner enter' 여야합니다. –
@MadProgrammer가 맞습니다. 일단 프로젝트를 기본 클래스로 설정하면 n은 null 포인터 예외 처리됩니다 . enter.getText()가 null이 아니지만 문제를 해결하지 못했을 때만 n이 구문 분석된다는 조건을 추가했습니다. 내 주요 방법 "문제 1 exercice = 새로운 문제();" 또한 같은 문제로 고통 받았다. – CrowDarza