Java 尝试在Netbeans中执行表单类时出现的问题
晚上好。 我在Windows上使用NetBeans v 11.1时遇到问题。 当用户从组合框中选择一个项目时,我尝试打开两个框架表单。 我想要打开的表单在其构造函数中有一个字符串参数Java 尝试在Netbeans中执行表单类时出现的问题,java,netbeans,Java,Netbeans,晚上好。 我在Windows上使用NetBeans v 11.1时遇到问题。 当用户从组合框中选择一个项目时,我尝试打开两个框架表单。 我想要打开的表单在其构造函数中有一个字符串参数 private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) { try { // TODO add your handlin
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的类中返回了params
如果我从NetBeans运行项目运行得很好,那么当我构建项目并尝试执行保存在./dist文件夹中的.jar文件时,就会出现问题。实际上,当我从组合框中选择一个值时,什么也不会发生,但是,正如我所说的,如果我尝试在NetBeans IDE中运行相同的代码,它就会工作
我指定从不更改NetBeans IDE的任何设置。
我希望你能解决我的问题 一,。日志文件中是否显示任何异常?2.是时候做一些调试了。您可能需要将代码分解成可测试的单元,并测试每个部分,如果需要,甚至在它自己的jar文件中。将GUI关注点与I/O关注点分开。3.您是否试图像访问文件一样访问jar文件中的资源?我是否导入了library org.json?您的jar清单文件是否具有指向此库的正确类路径?我现在添加了一个空框架,并像打开另一个框架一样打开它,从另一个框架调用方法setVisible。空框架已正确打开。我认为这个问题是由库org.json的导入引起的。它存储在一个名为Project/lib的文件夹中,构建的.jar文件将存储在另一个名为Project/dist的文件夹中。我对此表示怀疑,因为我使用Eclipse很长时间了,库文件是在可执行文件中自动构建的。jar文件请回答我的特定问题没有例外。现在,我在空框架中导入org.json库,并测试代码以在类Player中添加属性。我下次再讨论这个问题。所以我认为问题在于进口。关于你的最后一个问题,我不明白你的意思。