首页 > 解决方案 > 尝试在 Netbeans 中执行表单类的问题

问题描述

晚上好。我在使用适用于 Windows 的 NetBeans v 11.1 时遇到问题。当用户从组合框中选择一个项目时,我尝试打开两个框架表单。我要打开的表单在其构造函数中有一个字符串参数。

private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {                                           
    try {
        // TODO add your handling code here:
        Visualizza visualizza = new Visualizza(this.auth);
        Inserisci inserisci = new Inserisci(this.auth);
        var getItem = jComboBox1.getSelectedItem();

        switch(getItem.toString()){
            case ("Visualizza Iscritti nel Sistema"):

                visualizza.setVisible(true);
                break;
            case ("Inserisci Atleti nel Sistema"):
                inserisci.setVisible(true);
                break;
            default:
                break;
        }
    } catch (IOException ex) {
        Logger.getLogger(Select.class.getName()).log(Level.SEVERE, null, ex);
    }

}       

构造函数代码是:

    import java.io.IOException;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.swing.ButtonGroup;
    import org.json.*;

    public class Visualizza extends javax.swing.JFrame {

    //Attributes declaration 
     ...
    public Visualizza(String auth) throws IOException {
    initComponents();
    btnRicerca.setVisible(false);
    txtField.setVisible(false);
    this.auth = auth;


    Player[] player; 
    Requests r = new Requests("https://www.kingofthecage.it/API/getAllPlayers.php", auth);
    r.sendGet();
    if (r.res.equals("Errore") || r.res.equals("[]"))
    {
        List.removeAll();
        List.add(errorMessage);
    }
    else
    {
        JSONArray arr = new JSONArray(r.res);
        player = new Player[arr.length()];
        String[] list = new String[arr.length()];
        for (int i = 0; i < arr.length(); i++)
        {
            String id = arr.getJSONObject(i).getString("ID");
            String name = arr.getJSONObject(i).getString("NOME");
            String surname = arr.getJSONObject(i).getString("COGNOME");
            String date = arr.getJSONObject(i).getString("DATA_NASCITA");
            String birthplace = arr.getJSONObject(i).getString("LUOGO_NASCITA");
            String residence = arr.getJSONObject(i).getString("RESIDENZA");
            String cf = arr.getJSONObject(i).getString("CODICE_FISCALE");
            String mail = arr.getJSONObject(i).getString("MAIL");
            String mobile = arr.getJSONObject(i).getString("CELLULARE");
            String team = arr.getJSONObject(i).getString("NOME_SQUADRA");
            player[i] = new Player(id, name, surname, date, birthplace, residence, cf, mobile, mail, team);

            List.add(list[i] = player[i].getPlayerString());

        }


    }

我导入库 org.json 来解析来自服务器的响应并与之交互,该响应使用 HTTP 请求调用,并且在 for 循环中,我在一个名为 Player 的类中返回了参数。

如果我从 NetBeans 运行项目可以完美运行,那么当我构建项目并尝试执行保存在“./dist”文件夹中的 .jar 文件时就会出现问题。基本上,当我从 ComboBox 中选择一个值时,什么都没有发生,但正如我所说,如果我尝试在 NetBeans IDE 中运行相同的代码,它就可以工作。

我指定我从不更改 NetBeans IDE 的任何设置。我希望你能解决我的问题!

标签: javanetbeans

解决方案


推荐阅读