我想知道你是否可以测试是否点击了JMenu(而不是JMenuItem).我尝试添加一个ActionListener但它似乎没有认出它.我只需要在按下JMenu按钮时执行操作,以便我可以更改该菜单的JMenuItem,因为它打开了.欢迎所有工作以获得这个结果!
谢谢
我正在寻找创建一个能够随时间改变大小的数组,因为数组的大小是不可预测的,我不想创建一个巨大的随机数,这将浪费内存所以每次按下按钮我需要数组增长一个.
private String[][] lyricLineInfo = new String[x][5];
Run Code Online (Sandbox Code Playgroud)
在x的位置,数组必须在按钮按下时增长,而5是常数.所以我需要x按钮一个一个地增长而不会溢出.我可以通过使用这样的东西来做到这一点吗?
lyricLineInfo[lyricLineInfo.length + 1][4] = fieldLyrics.getText();
Run Code Online (Sandbox Code Playgroud)
无论如何,提前谢谢!
因此,每次运行方法测试时,我的String数组都会添加到我的ArrayList中,它会打印出lyricLineInfo [4]值,但是当再次运行方法测试时,数组将被添加到ArrayList,但它也将替换具有新数组的所有其他ArrayList值.因此,当再次打印lyricLineInfo [4]时,它会打印新值,而不是像它想象的那样打印旧值.我不确定为什么这样做可以让任何人帮忙?这是我的代码:
private String[] lyricLineInfo = new String[5];
private ArrayList<String[]> lyricLineNumber = new ArrayList<String[]>();
public void test() {
lyricLineNumber.add(getInfo());
System.out.println(lyricLineNumber.get(0)[4])
}
public String[] getInfo() {
if (chckbxLeadSinger.isSelected()) {
lyricLineInfo[0] = "true";
} else {
lyricLineInfo[0] = "false";
}
if (chckbxBackupSinger.isSelected()) {
lyricLineInfo[1] = "true";
} else {
lyricLineInfo[1] = "false";
}
lyricLineInfo[2] = fieldStartTime.getText();
lyricLineInfo[3] = fieldEndTime.getText();
lyricLineInfo[4] = fieldLyrics.getText();
return lyricLineInfo;
}
Run Code Online (Sandbox Code Playgroud)