如何使用来自另一个类的Action Listener的目录路径变量?

时间:2017-06-18 04:37:48

标签: java actionlistener

我是编程的新手,我和白痴一样,决定让我的第一个项目超越我的水平。我在网站上找到解决这个问题的方法并没有太大成功,所以我问。

所以,我有一个按钮,用于创建一个带有用户输入名称的文件,然后创建包含该文件的目录。它在课堂“NewProject”中。

    JButton btnNewButton = new JButton("Create");
    btnNewButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            String projectName = textPane.getText();
            File projectFolder = new File("C:\\Jibberish\\" + projectName);
            File projectStart = new File("C:\\Jibberish\\" + projectName + 
           "\\" + "Project" + "\\" + "text.rtf");

现在,在另一个类“工作区”中,我有一个JTree和一个JEditorPane。我想知道如何在“workspace”类中获取类似“projectStart”的变量,这样我就可以使用该目录作为JTree的模型,将文件“text.rtf”作为JEditor中的默认文本。

如果需要更多信息,我会尝试提供。 请回答,好像我什么都不知道,因为我没有。提前谢谢。

1 个答案:

答案 0 :(得分:1)

不确定我是否正确使用你,但是为了将projectStart交给workspace.class你可以创建一个私有的类变量并为它创建一个getter方法。

private File projectStart = null;
private void buttonAction(){ //this is where your ActionListener stuff happens
    JButton btnNewButton = new JButton("Create");
    btnNewButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            String projectName = textPane.getText();
            File projectFolder = new File("C:\\Jibberish\\" + projectName);
            projectStart = new File("C:\\Jibberish\\" + projectName + 
           "\\" + "Project" + "\\" + "text.rtf");
}
public File getProjectStart(){ //this method makes your projectStart-variable accessible for other classes
    return projectStart;
}

在您的工作区类中,您可以通过调用它来使用此变量:

private void foo(){
    NewProject np = new NewProject();
    File copyOfProjectStart = np.getProjectStart();
}

希望这会对你有所帮助。