有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

导出时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) 个答案