JFileChooser乍么实现为模态对话框?

kkfvjmtd 2009-05-06 04:10:51
是这样的:if (chooser.showOpenDialog(????) == JFileChooser.APPROVE_OPTION)

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

在线等...

...全文
118 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinxfei 2009-05-07
  • 打赏
  • 举报
回复
^_^,刚解决别人问题的代码,你参考一下:

貌似没问题:


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();
}




}

lixj2009 2009-05-06
  • 打赏
  • 举报
回复
	JFileChooser jfc=new JFileChooser();
int t=jfc.showOpenDialog(frame);
File file=jfc.getSelectedFile();
if(t==JFileChooser.APPROVE_OPTION){
sourceText.setText(file.getAbsolutePath());
}

LZ看看。。。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧