java jdialog 怎么用

 我来答
雪飞潇潇
2017-10-03 · TA获得超过6273个赞
知道大有可为答主
回答量:1968
采纳率:91%
帮助的人:832万
展开全部

JDialog 对话框 , 一般用于满足比较复杂的弹出对话框, 比如 很多的输入框, 很多的按钮等情况

JOptionPane 也是对话框, 但是它一般只用于简单的提示, 输入, 选择, 警告 , 不能进行复杂的自定义.

下面写1个简单的使用JDialog来提示的对话框

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

public class DialogFrame extends JFrame implements ActionListener {
JPanel jp1;
JTextField jtf;
JButton jb1;

public DialogFrame() {
jp1 = new JPanel();
JLabel jl1 = new JLabel("请输入用户名");
jtf = new JTextField(8);
jb1 = new JButton("确定");
jb1.addActionListener(this);
jp1.add(jl1);
jp1.add(jtf);
jp1.add(jb1);

add(jp1);
// 窗口属性设置
setTitle("JFrame");// 标题
setSize(380, 180);// 窗口大小
setLocationRelativeTo(null);// 窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE);// 窗口点击关闭时,退出程序
}

public static void main(String[] args) {
new DialogFrame().setVisible(true);
}

@Override
public void actionPerformed(ActionEvent e) {
if (jb1 == e.getSource()) {

String name = jtf.getText().trim();
if (name.equals("")) {// 验证是否输入了有效的字符串
// 字符串为"", 那么弹出对话框进行提示

new TPDialog(this, "提示", true, "Sorry! 用户名必须填写,不能为空!");
// 第一个参数 this 代表了本JFrame对象
// 第二个参数 标题
// 第三个参数 true表示模态窗口, 该窗口置顶,并且如果不关闭,无法点击其他的组件
// 第四个参数 表示了对话框要弹出的信息内容是什么
}

}
}

}

class TPDialog extends JDialog {

public TPDialog(JFrame jf, String title, boolean flag, String info) {
super(jf, title, flag); //调用父类的构造器
// 第一个参数 this 代表了本JFrame对象
// 第二个参数 标题
// 第三个参数 true表示模态窗口, 该窗口置顶,并且如果不关闭,无法点击其他的组件
JLabel jl = new JLabel(info);
add(jl);
setSize(230, 100);//大小
setLocationRelativeTo(null);//居中
setVisible(true);
setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);//点击关闭时,销毁对话框
}
}

效果显示

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式