Java论坛网»Java技术»JFileChooser的打开文件对话框如何做成模态对话框?
JFileChooser的打开文件对话框如何做成模态对话框?
问?:
请问能不能做成模态对话框,可以的话怎么样实现?
答!: 1:
模。。态。。? 不想顶楼,不过模态是什么意思
答!: 2:
对话框一般分为两种类型:模态类型(modal)与非模态类型(modeless)。所谓模态对话框,就是指除非采取有效的关闭手段,用户的鼠标焦点或者输入光标将一直停留在其上的对话框。非模态对话框则不会强制此种特性,用户可以在当前对话框以及其他窗口间进行切换。
答!: 3:
int showDialog(Component parent, String approveButtonText)
弹出具有自定义 approve 按钮的自定义文件选择器对话框。
int showOpenDialog(Component parent)
弹出一个 "Open File" 文件选择器对话框。
int showSaveDialog(Component parent)
弹出一个 "Save File" 文件选择器对话框。
把你要实现模态的父组件做为参数传进去就可以了
弹出具有自定义 approve 按钮的自定义文件选择器对话框。
int showOpenDialog(Component parent)
弹出一个 "Open File" 文件选择器对话框。
int showSaveDialog(Component parent)
弹出一个 "Save File" 文件选择器对话框。
把你要实现模态的父组件做为参数传进去就可以了
答!: 4:
楼上的大侠 父组件都有什么呢
我现在做的画面用的控件都是awt重新改写过的
放进去都不匹配
我现在做的画面用的控件都是awt重新改写过的
放进去都不匹配
答!: 5:
当然可以匹配,因为传入的参数都是Component对象,所有的组件都是它的子类
比如说你做了一个Frame,它会弹出一个文件选框,那么你就把这个Frame的引用传进去就可以实现
只要文件选择框不消失,你就按不到Frame这个窗体
这就是模态啊
比如说你做了一个Frame,它会弹出一个文件选框,那么你就把这个Frame的引用传进去就可以实现
只要文件选择框不消失,你就按不到Frame这个窗体
这就是模态啊
答!: 6:
/*
* TestModel.java
*
* Created on 2006年8月31日, 上午9:22
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
/**
*
* @author 千里冰封
*/
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class TestModel implements ActionListener{
private JButton jb;
private JFrame jf;
/** Creates a new instance of TestModel */
public TestModel() {
initWindow();
}
private void initWindow(){
jf=new JFrame("模态演示");
jb=new JButton("选择文件");
jb.addActionListener(this);
jf.getContentPane().add(jb,BorderLayout.SOUTH);
jf.setSize(300,300);
jf.setLocationRelativeTo(null);
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent ae){
if(ae.getSource()==jb){
JFileChooser jfc=new JFileChooser();
int i=jfc.showSaveDialog(jf);
if(JFileChooser.APPROVE_OPTION==i){//选中了
JOptionPane.showMessageDialog(jf,"您选择的文件是:\n"+jfc.getSelectedFile());
}else{
JOptionPane.showMessageDialog(jf,"您取消选择!");
}
}
}
public static void main(String args[]){
new TestModel();
}
}
这是个我刚写的例子,你可以看看
* TestModel.java
*
* Created on 2006年8月31日, 上午9:22
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
/**
*
* @author 千里冰封
*/
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class TestModel implements ActionListener{
private JButton jb;
private JFrame jf;
/** Creates a new instance of TestModel */
public TestModel() {
initWindow();
}
private void initWindow(){
jf=new JFrame("模态演示");
jb=new JButton("选择文件");
jb.addActionListener(this);
jf.getContentPane().add(jb,BorderLayout.SOUTH);
jf.setSize(300,300);
jf.setLocationRelativeTo(null);
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent ae){
if(ae.getSource()==jb){
JFileChooser jfc=new JFileChooser();
int i=jfc.showSaveDialog(jf);
if(JFileChooser.APPROVE_OPTION==i){//选中了
JOptionPane.showMessageDialog(jf,"您选择的文件是:\n"+jfc.getSelectedFile());
}else{
JOptionPane.showMessageDialog(jf,"您取消选择!");
}
}
}
public static void main(String args[]){
new TestModel();
}
}
这是个我刚写的例子,你可以看看
答!: 7:
如果是这样的话,那把父窗体的重量级组件穿给dialog就行了.在dialog内部实现了那个模态
相关JAVA教程:
这个版面到底有多少个帖子是真正问“架构、设计”的?忒也奇怪了。
急...我的win2003密码忘了.进不了,是局域网中的一台机子..
一个struts的异常
Hibernate的这个问题在IDE开发工具中该如何去解决!!
一个简单小程序,setSelectionStart
JTABLE选择行的设置问题,急
初学JAVA,一点肤浅的认识,不知对不对?
请教大家一个关于hibernate问题?
为什么我在hibernate中查询不能用别名?
是不是每写一个类最好是都有需要有个pojo啊
appfuse+webwork中不能进行验证
简单的获得session值的问题