导出时java卡布局和文件列表冲突
好的,我正在编写一个flashcard桌面应用程序作为一个学校项目。这个程序现在已经相当大了,显然已经大大简化了。它的结构方式是可以从列表中选择抽认卡组(以文件夹中文本文件的形式)。因此,程序获取这些文本文件并显示它们,然后稍后读取/重写这些文本文件。现在,这一切在eclipse中运行得非常好。但是,当我将项目导出为JAR文件,运行它并单击按钮时,什么也没有发生。应用程序不会翻转到下一张卡。 我想这里有两个问题,一个是转换到jar时的文件夹和文件问题,另一个是它不知怎么搞砸了cardlayout。这有什么关系吗?我只需要在USB上交一个桌面应用程序,还有办法吗
package isolatedIssue;
// all my imports here.
public class Main {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 400);
JPanel contPanel = new JPanel();
JPanel mainPanel = new JPanel();
JPanel secondPanel = new JPanel();
JList<String> list = new JList();
CardLayout cardlayout = new CardLayout();
JButton button = new JButton("Click me.");
JButton button2 = new JButton("Click me again.");
frame.add(contPanel);
contPanel.setLayout(cardlayout);
contPanel.add(mainPanel, "1");
contPanel.add(secondPanel, "2");
mainPanel.add(button);
secondPanel.add(button2);
DefaultListModel<String> listModel = new DefaultListModel<String>();
list.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
list.setModel(listModel);
list.setSelectedIndex(0);
File folder = new File("folder");
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
listModel.add(i, listOfFiles[i].getName());
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
cardlayout.show(contPanel, "2");
}
});
}
}
secondPanel.add(new JScrollPane(list));
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
cardlayout.show(contPanel, "2");
}
});
// second action listener to get back to the other panel omitted.
}
}
我知道这是一次很多,我可能在问问题时犯了一个错误,我是一个noob等,但任何帮助都非常感谢:)谢谢
共 (0) 个答案