2012-01-08 73 views
0

我認爲我有一個很奇怪的問題。我正在使用一個類 - 在一個已經存在的代碼中 - 主要用於打開一個Save Dialog窗口。使用該代碼是以下:用於保存文件的類,每次都以不同的名稱保存它

String savedName; 


if (OperatingSystem.isMacOSX()) { 
    savedName = showFileDialog(parentView, dialogTitle, contentType, name, true); 
} else { 
    savedName = showFileChooser(parentView, dialogTitle, contentType, name, true); 
} 

所以我所做的就是把它變成塊註釋,現在我想保存的項目,由每一個類被調用時使用不同的名稱。這個名字將從使用此代碼的陣列中獲取:

int m = 0; 

for (HomePieceOfFurniture piece : home.getFurniture()) { 
    if (piece.isVisible()) { 
     m++; 
    } } // A table used to save the names of the furniture and initialize it 
String [] Furniture = new String[m]; 
m = 0; 

for (HomePieceOfFurniture piece : home.getFurniture()) { 
    if (piece.isVisible()) { 
     // "a" is used to save the name of the furniture piece 
     String a = piece.getName(); 
     Furniture[m] = a; 
     //System.out.printf(Furniture[m]); 
     m++; 
     } 
    } 

我想要的是一個提示,以瞭解如何理解該類如何被調用。

在此先感謝。

+0

如何調用什麼類?如果要調用文件名作爲參數的原始方法(第一個片段),請修改該方法以接受名爲'savedName'的附加參數,刪除方法內部的聲明,其餘部分保持原樣。 – 2012-01-08 17:06:39

+0

您註釋掉的代碼不保存文件 - 它只允許用戶選擇文件位置和名稱。 – Paul 2012-01-08 17:15:11

+0

我認爲你是對的...我會嘗試:) – 2012-01-08 17:24:42

回答

0

如果要調用文件名作爲參數的原始方法(第一個片段),請修改該方法以接受名爲savedName的附加參數,刪除方法內的聲明,並保持原樣。

public void someMethod(String savedName) { 
    // The commented-out code that used to ask for a filename. 
    // if (OperatingSystem.isMacOSX()) { 
    //  savedName = showFileDialog(parentView, dialogTitle, contentType, name, true); 
    // } else { 
    //  savedName = showFileChooser(parentView, dialogTitle, contentType, name, true); 
    // } 

    // Rest of method stays the same. 
    File f = new File(savedName); 
    // etc. 
} 

然後從創建文件名的新代碼中調用它。