5

JFileChooser の使用に問題があります。ファイルを選択せず​​にすぐに「キャンセル」ボタンをクリックすると、プログラムを実行するたびに「こんにちは」と表示され、開くをクリックしても何もしません。一方、ファイルを選択して [開く] をクリックすると、「Hello」が表示され始め (createFile メソッドが呼び出されます)、「キャンセル」をクリックすると「hello」が表示されます。

私の質問は、クリックされたボタンを見つけて、キャンセルをクリックしたときにダイ関数を呼び出し、開くをクリックしたときにcreateFile関数を呼び出すなど、それぞれに特定のことを行う方法です。

みたいなことを考えていた

if(e.getSource() == "Something_I_Dont_know") { do this}

これが私のコードです:

import java.util.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;


public class Grading{

public static void main(String[] arg){

 new MFrame();

}


}// end of class Grading

class MFrame extends JFrame{

private JCheckBox cum,uc,ucs;
private JButton calc, clear, exit;
private ButtonGroup bg;
private JTextArea display;
private JFileChooser input;

public MFrame(){

    setVisible( true );
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    setSize(550,550);

    input = new JFileChooser();
    add( input );
    input.addActionListener(
        new ActionListener(){
            public void actionPerformed( ActionEvent e ){
                //die();
                createFile();
            }
        }

    );

    setLayout( new FlowLayout() );

    pack();


}// end of constructor

public double gpa(){
 return 1.0;
}// end of gpa method

public void createFile(){
    System.out.println("Hello");
}

public void die(){
    System.exit(0);
}

}// MFRAME クラスの終わり

4

2 に答える 2

17

適切なメソッドの結果を使用して、showDialogどのボタンがクリックされたかを判断します

JFileChooser input = new JFileChooser();
int result = input.showSaveDialog(this);
if (result == JFileChooser.APPROVE_OPTION) {
    createFile();
} else if (result == JFileChooser.CANCEL_OPTION) {
    System.out.println("Cancel was selected");
}

注:ダイアログのXボタンをクリックしても、 .JFileChooserCANCEL_OPTION

ファイルチューザーの使い方を読む

于 2013-06-10T23:24:04.393 に答える