是这样的:if (chooser.showOpenDialog(????) == JFileChooser.APPROVE_OPTION)里面问号处根据api是写它的父组件,我写的是父窗体,但现在的情况是这样,打开对话框只实现了对父窗体的模态,对于父窗体的其它组件它是不起作用的,还能进行其它的操作(除了点击父窗体的边框外),请问这是乍么回事?
我想实现的是不让对父窗体中的任何组件进行操作.在线等...

解决方案 »

  1.   

    JFileChooser jfc=new JFileChooser();
    int t=jfc.showOpenDialog(frame);
    File file=jfc.getSelectedFile();
    if(t==JFileChooser.APPROVE_OPTION){
    sourceText.setText(file.getAbsolutePath());
    }
    LZ看看
      

  2.   

    ^_^,刚解决别人问题的代码,你参考一下:貌似没问题:
    import javax.swing.*;
    import java.awt.event.*;
    import java.awt.*;public class NoteBook extends JFrame {
    private JTextArea ta; private JMenuBar mb; private JMenu file; private JMenuItem open, color, exit; public NoteBook() {
    super("记事本");
    Container c = getContentPane();
    mb = new JMenuBar();
    open = new JMenuItem("打开");
    color=new JMenuItem("颜色");
    exit = new JMenuItem("退出");
    open.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e){
    JFileChooser fc=new JFileChooser();
    fc.setSize(300,300);
    fc.showOpenDialog(NoteBook.this);
    }
    });
    color.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e) {
    JColorChooser.showDialog(NoteBook.this, "请选择颜色", Color.RED);
    }
    });
    exit.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e) {
    System.exit(0);
    }
    });

    file=new JMenu("文件");
    mb.add(file);
    file.add(open);
    file.add(color);
    file.add(exit);
    setJMenuBar(mb);
    ta = new JTextArea();
    add(ta);
    setSize(800, 600);
    setVisible(true);
    } public static void main(String args[]) {
    NoteBook nb = new NoteBook();
    }


    }