如何將GUI類中的實際複選框狀態(true/false)傳遞給另一個類?我只想在GUI中選擇複選框的情況下運行部分代碼。我想它必須是如果聲明(下面高亮部分),但我不能得到它的工作。另一個類中的Java複選框狀態
public class csvtoxls {
public static void main() throws IOException {
//here you enter the path to your directory.
//for example: Path workDir = Paths.get("C:\\Users\\Kamil\Desktop\\csvtoxlspython\\Nowy folder (2)")
JFileChooser jfc = new JFileChooser(FileSystemView.getFileSystemView().getHomeDirectory());
jfc.setDialogTitle("Wybierz folder do konwersji: ");
jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
jfc.setAcceptAllFileFilterUsed(false);
int returnValue = jfc.showSaveDialog(null);
if (returnValue == JFileChooser.APPROVE_OPTION) {
if (jfc.getSelectedFile().isDirectory()) {
System.out.println("You selected the directory: " + jfc.getSelectedFile());
String z;
//@SuppressWarnings("deprecation")
Path workDir = jfc.getSelectedFile().toPath();
System.out.println(workDir);
//Path workDir = FileSystems.getDefault(jfc.getCurrentDirectory()).jfc.getCurrentDirectory();
//Path workDir = Paths.get(gui.pickPath(jfc));
File dirg = jfc.getSelectedFile();
//String str = dirg.getPath();
// ************* CODE WITH ISSUE *************
if TextAreaLogProgram.checkbox.isSelected() {
try {
Thread.sleep(5000); //1000 milliseconds is one second.
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
String str = dirg.getPath();
delfiles td = new delfiles();
td.deleteFiles(str + "/", ".csv");
System.out.println("SUCCESS!");
msgbox.infoBox("SUCCES!", "CSVtoXLS");
}
GUI類:
public class TextAreaLogProgram extends JFrame {
private JTextArea textArea;
private JButton buttonStart = new JButton("CONVERT");
private JButton buttonClear = new JButton("CLEAR");
private PrintStream standardOut;
public TextAreaLogProgram() {
super("CSVtoXLS");
JCheckBox checkbox = new JCheckBox();
add(checkbox);
checkbox.setText("Delete files");
checkbox.setSelected(true);
請改善您的問題,使其更容易回答,而無需猜測。您不會顯示運行「TextAreaLogProgram」類的位置或方式,也不會顯示您創建「TextAreaLogProgram」對象的位置,並且發佈的代碼格式不好,從而使代碼難以閱讀和遵循。你真的想讓人們很容易幫忙,所以這樣做對你最有利。另請參閱[幫助]的如何解答問題部分,瞭解如何改進問題。 –
但話雖如此,這個問題歸結爲檢查一個對象的狀態,另一個對象的關鍵是***引用***,獲得另一個對象的引用。此外,JCheckBox不應該是局部變量,而應該是TextAreaLogProgram類的實例字段。 –
我編輯並格式化了您的發佈代碼。 –