【问题标题】:JFrame not appearing in NetbeansJFrame 未出现在 Netbeans 中
【发布时间】:2015-01-27 11:13:42
【问题描述】:

我编写了一个简单的 java 应用程序,它根据单击的按钮对数字进行平方和求根。运行它后,控制台显示构建成功,但没有显示任何内容。这是我的代码:

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()); 有一个例外,因为enternull(如果不是getText() 将返回一个空白String,这是不可能的转换为int)
  • JTextField enter 应该是JSpinner enter..
  • @MadProgrammer 正确,一旦我将我的项目设置为主类,n 是空指针异常。我添加了仅在 enter.getText() 不为 null 时才解析 n 的条件,但这似乎并没有解决问题。我的主要方法“问题 1 练习 = 新问题();”也遇到了同样的问题。
  • @AndrewThompson 练习将我们限制在 JTextField 中,因为该值必须由用户输入,而不是选择。

标签: java swing jframe


【解决方案1】:

试试这个:将 JFrame 设置为项目的主类,在项目名称(咖啡杯图标)的选项卡“项目”中,右键单击 -> 设置配置 -> 自定义 -> 在“运行”部分点击 Browse 按钮​​选择默认的 Main Class(你想要的 JFrame)。

【讨论】:

  • 谢谢! Netbeans 运行的是默认类而不是这个类。但是在解析为 n 整数和在 main 中调用类时,空指针异常仍然存在。
【解决方案2】:

right click -> set configuration -> customize -> 在Run 部分中选择您的项目。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多