gpt4 book ai didi

java.lang.ArrayIndexOutOfBoundsException : 0 when I try to access to the first argument of args parameters, 为什么?

转载 作者:行者123 更新时间:2023-12-01 18:41:12 25 4
gpt4 key购买 nike

我正在开发一个简单的 Java Swing 应用程序,我对 ma​​in() 方法 args 输入参数有一个愚蠢的怀疑:

我有以下代码:

package com.test.login;

import java.awt.Container;
import java.awt.Dimension;

import javax.swing.JFrame;

import org.jdesktop.application.SingleFrameApplication;

public class MainWindows extends SingleFrameApplication {

private static final int FIXED_WIDTH = 880;
private static final Dimension INITAL_SIZE = new Dimension(FIXED_WIDTH, 440);

// First execute the LoginFrame class to open the login windows:
public static void main(String[] args) {
System.out.println("Inside: MainWindows() ---> main()");

if(!(args[0].equals("loggedIn"))){
launch(LoginFrame.class, args);
}

}

@Override
protected void startup() {
// TODO Auto-generated method stub

System.out.println("Inside MainWindows ---> startup()");


JFrame mainFrame = this.getMainFrame(); // main JFrame that represents the Windows
mainFrame.setTitle("My Appliction MainFrame");

mainFrame.setPreferredSize(INITAL_SIZE);
mainFrame.setResizable(false);

show(mainFrame);

}

}

ma​​in()方法采用经典的args[]数组参数(即字符串数组)

我希望如果这个数组中的第一个元素不是字符串loggedIn,它会启动LoginFrame.class,否则什么也不做,startUp() 渲染 JFrame 窗口的方法将自动调用。

问题是,当我尝试执行此类时,我在 Eclipse 控制台中收到以下错误消息:

Inside: MainWindows() ---> main()
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at com.test.login.MainWindows.main(MainWindows.java:19)
为什么?哪里有问题?我如何解决?

Tnx

安德里亚

最佳答案

您没有使用任何命令行参数运行它,是吗?在尝试对其进行检查之前,请验证您是否确实拥有第一个参数。例如:

if(args.length > 0 && !args[0].equals("loggedIn")){

上面的内容意味着如果没有参数,您不想调用 launch() (您的问题对此有点模糊,但这将是一个严格的解释)。如果您确实想要在这种情况下调用launch(),请执行以下操作:

if(!(args.length > 0 && args[0].equals("loggedIn"))){

关于java.lang.ArrayIndexOutOfBoundsException : 0 when I try to access to the first argument of args parameters, 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19930278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com