如何吧jframe作为jdialog的父类

 我来答
雪飞潇潇
2017-10-03 · TA获得超过6274个赞
知道大有可为答主
回答量:1968
采纳率:91%
帮助的人:862万
展开全部
  • JFrame窗口,JDialog对话框, 两者都是顶层容器 , 但是java是单继承的 ,JDialog的父类是Dialog, 所以不能把JFrame作为JDialog的父类

  • 通常,我们是把JFrame作为JDialog的父窗口. 比如点击JFrame上的按钮,弹出某个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("")) {// 验证是否输入了有效的字符串
// 字符串为"", 那么弹出对话框进行提示
JDialog jd = new JDialog(this, "JDialog 提示", true);
// 第一个参数 this 代表了本JFrame对象
// 第二个参数 标题
// 第三个参数 true表示模态窗口, 该窗口置顶,并且如果不关闭,无法点击其他的组件
JLabel jl = new JLabel("Sorry! 用户名必须填写,不能为空!");
jd.add(jl);
jd.setSize(230, 100);
jd.setLocationRelativeTo(null);
jd.setVisible(true);
jd.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
return;
}

}
}

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式