java swing 弹出对话框与父窗口传值实例

2023-10-27

用到父子窗口传值,去网上搜了一堆废话,感觉很不爽,自己研究了半天,原来很简单。这个例子还用到了线程。不用会更清楚。不多说了,上代码,注意是怎样传值的

//对话框

package des;

import java.awt.Color;
import java.awt.Dialog;
import java.awt.Font;
import java.awt.Frame;
import java.awt.GraphicsConfiguration;
import java.awt.Window;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;

import org.dyno.visual.swing.layouts.Constraints;
import org.dyno.visual.swing.layouts.GroupLayout;
import org.dyno.visual.swing.layouts.Leading;

//VS4E -- DO NOT REMOVE THIS LINE!
public class test extends JDialog {

private static final long serialVersionUID = 1L;
private JButton jButton0;
private JLabel jLabel0;
private JTextArea jTextArea0;
private JScrollPane jScrollPane0;
freamtest parent;
private static final String PREFERRED_LOOK_AND_FEEL = "javax.swing.plaf.metal.MetalLookAndFeel";
public test() {
initComponents();
}

public test(freamtest parent) {
super(parent);
this.parent=parent;
initComponents();
}

public test(freamtest parent, boolean modal) {
super(parent, modal);
this.parent=parent;
initComponents();
}

public test(freamtest parent, String title) {
super(parent, title);
this.parent=parent;
initComponents();
}

public test(freamtest parent, String title, boolean modal) {
super(parent, title, modal);
this.parent=parent;
initComponents();
}

public test(freamtest parent, String title, boolean modal,
GraphicsConfiguration arg) {
super(parent, title, modal, arg);
this.parent=parent;
initComponents();
}

public test(Dialog parent) {
super(parent);
initComponents();
}

public test(Dialog parent, boolean modal) {
super(parent, modal);
initComponents();
}

public test(Dialog parent, String title) {
super(parent, title);
initComponents();
}

public test(Dialog parent, String title, boolean modal) {
super(parent, title, modal);
initComponents();
}

public test(Dialog parent, String title, boolean modal,
GraphicsConfiguration arg) {
super(parent, title, modal, arg);
initComponents();
}

public test(Window parent) {
super(parent);
initComponents();
}

public test(Window parent, ModalityType modalityType) {
super(parent, modalityType);
initComponents();
}

public test(Window parent, String title) {
super(parent, title);
initComponents();
}

public test(Window parent, String title, ModalityType modalityType) {
super(parent, title, modalityType);
initComponents();
}

public test(Window parent, String title, ModalityType modalityType,
GraphicsConfiguration arg) {
super(parent, title, modalityType, arg);
initComponents();
}

private void initComponents() {
setFont(new Font("Dialog", Font.PLAIN, 12));
setBackground(Color.white);
setForeground(Color.black);
setLayout(new GroupLayout());
add(getJButton0(), new Constraints(new Leading(297, 10, 10), new Leading(45, 10, 10)));
add(getJLabel0(), new Constraints(new Leading(149, 10, 10), new Leading(21, 12, 12)));
add(getJScrollPane0(), new Constraints(new Leading(89, 100, 12, 12), new Leading(64, 80, 10, 10)));
addWindowListener(new WindowAdapter() {

public void windowClosed(WindowEvent event) {
windowWindowClosed(event);
}

public void windowClosing(WindowEvent event) {
windowWindowClosing(event);
}
});
setSize(462, 240);
}

private JScrollPane getJScrollPane0() {
if (jScrollPane0 == null) {
jScrollPane0 = new JScrollPane();
jScrollPane0.setViewportView(getJTextArea0());
}
return jScrollPane0;
}

private JTextArea getJTextArea0() {
if (jTextArea0 == null) {
jTextArea0 = new JTextArea();
jTextArea0.setText("jTextArea0");
}
return jTextArea0;
}

private JLabel getJLabel0() {
if (jLabel0 == null) {
jLabel0 = new JLabel();
jLabel0.setText("dialog");
}
return jLabel0;
}

private JButton getJButton0() {
if (jButton0 == null) {
jButton0 = new JButton();
jButton0.setText("jButton0");
jButton0.addMouseListener(new MouseAdapter() {

public void mouseClicked(MouseEvent event) {
jButton0MouseMouseClicked(event);
}
});
}
return jButton0;
}

private static void installLnF() {
try {
String lnfClassname = PREFERRED_LOOK_AND_FEEL;
if (lnfClassname == null)
lnfClassname = UIManager.getCrossPlatformLookAndFeelClassName();
UIManager.setLookAndFeel(lnfClassname);
} catch (Exception e) {
System.err.println("Cannot install " + PREFERRED_LOOK_AND_FEEL
+ " on this platform:" + e.getMessage());
}
}

/**
* Main entry of the class.
* Note: This class is only created so that you can easily preview the result at runtime.
* It is not expected to be managed by the designer.
* You can modify it as you like.
*/
public static void main(String[] args) {
installLnF();
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
test dialog = new test();
dialog.setDefaultCloseOperation(test.DISPOSE_ON_CLOSE);
dialog.setTitle("test");
dialog.setLocationRelativeTo(null);
dialog.getContentPane().setPreferredSize(dialog.getSize());
dialog.pack();
dialog.setVisible(true);
}
});
}
//close
private void windowWindowClosed(WindowEvent event) {

}

private void jButton0MouseMouseClicked(MouseEvent event) {


String tt=jTextArea0.getText();
this.parent.getjTextField0().setText(tt);
System.out.println("6666666666");


}

private void windowWindowClosing(WindowEvent event) {

String tt=jTextArea0.getText();
this.parent.getjTextField0().setText("hhhaayyy");

System.out.println("yyyyyy");
//jTextField0.
}

}

/父窗口

package des;

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;

import org.dyno.visual.swing.layouts.Constraints;
import org.dyno.visual.swing.layouts.GroupLayout;
import org.dyno.visual.swing.layouts.Leading;

//VS4E -- DO NOT REMOVE THIS LINE!
public class freamtest extends JFrame {

private static final long serialVersionUID = 1L;
private JButton jButton0;
private JTextField jTextField0;
String vv;
private static final String PREFERRED_LOOK_AND_FEEL = "javax.swing.plaf.metal.MetalLookAndFeel";


public JTextField getjTextField0() {
return jTextField0;
}

public void setjTextField0(JTextField jTextField0) {
this.jTextField0 = jTextField0;
}

public String getVv() {
return vv;
}

public void setVv(String vv) {
this.vv = vv;
}

public freamtest() {
initComponents();
}

private void initComponents() {
setLayout(new GroupLayout());
add(getJButton0(), new Constraints(new Leading(129, 10, 10), new Leading(40, 10, 10)));
add(getJTextField0(), new Constraints(new Leading(31, 254, 12, 12), new Leading(86, 47, 10, 10)));
addMouseListener(new MouseAdapter() {

public void mouseClicked(MouseEvent event) {
mouseMouseClicked(event);
}
});
setSize(320, 240);
}

private JTextField getJTextField0() {
if (jTextField0 == null) {
jTextField0 = new JTextField();
jTextField0.setText("jTextField0");
}
return jTextField0;
}

private JButton getJButton0() {
if (jButton0 == null) {
jButton0 = new JButton();
jButton0.setText("tttttt");
jButton0.addMouseListener(new MouseAdapter() {

public void mouseClicked(MouseEvent event) {
jButton0MouseMouseClicked(event);
}
});
}
return jButton0;
}

private static void installLnF() {
try {
String lnfClassname = PREFERRED_LOOK_AND_FEEL;
if (lnfClassname == null)
lnfClassname = UIManager.getCrossPlatformLookAndFeelClassName();
UIManager.setLookAndFeel(lnfClassname);
} catch (Exception e) {
System.err.println("Cannot install " + PREFERRED_LOOK_AND_FEEL
+ " on this platform:" + e.getMessage());
}
}

/**
* Main entry of the class.
* Note: This class is only created so that you can easily preview the result at runtime.
* It is not expected to be managed by the designer.
* You can modify it as you like.
*/
public static void main(String[] args) {
installLnF();
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
freamtest frame = new freamtest();
frame.setDefaultCloseOperation(freamtest.EXIT_ON_CLOSE);
frame.setTitle("freamtest");
frame.getContentPane().setPreferredSize(frame.getSize());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}

private void mouseMouseClicked(MouseEvent event) {

}

private void jButton0MouseMouseClicked(MouseEvent event) {

//JDialog tt=new test(this,"dialogtest",true);
//tt.show();
//System.out.println("sdgf");
ThreadTeat rrr=new ThreadTeat(this);
Thread th1=new Thread(rrr);
th1.start();
}

}

///线程

package des;

public class ThreadTeat implements Runnable{

freamtest ff;
ThreadTeat(){}

ThreadTeat(freamtest ff){
this.ff=ff;
}
public static void main(String[] args) {
ThreadTeat rrr=new ThreadTeat();
Thread th1=new Thread(rrr);
th1.start();
}

@Override
public void run() {
// TODO Auto-generated method stub
int c=0;
while(true){

if(c==5){
test tt=new test(ff);
tt.show();
}


try {
Thread.sleep(1000);
c++;
System.out.println("c is ---"+c);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

}

简单有很清楚,真不明白,这么简单的东西怎么网上搜不到,全是没用的废话,所以不明的菜鸟别乱传别人的东西,整的网上有用的东西不多,垃圾导出都是!


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java swing 弹出对话框与父窗口传值实例 的相关文章

随机推荐

  • linux ssh权限设置,linux 让ssh只允许指定的用户登录的权限设置

    方法一 只允许ssh指定用户登录权限的设置 SSH远程登录的权限直接影响服务器的安全 为ssh设置合理的用户权限是必须的 查看ssh版本的命令 ssh v 设置ssh只允许指定用户登录的方法 在 etc ssh sshd config文件中
  • 【mysql5.7开启 binlog】

    今天发现数据库连接不上了 一看服务器 家被人偷了 库还在只剩下一个表README 以下数据库已被删除 xxx xxx 我们有完整的备份 要恢复它 您必须向我们的比特币地址xxxx支付0 028比特币 BTC 如果您需要证明 请通过以下电子邮
  • grafana设置Alert阈值和邮件报警

    首先我们需要在机器上开启smtp 25服务 这里有一个坑 注意 云主机为了防止滥发邮件已经封掉了smtp的所有通信 所以云主机发邮件是有问题的 安装sendmail ubuntu用apt centos用yum 安装好后一般自动就跑起来了 n
  • 单例模式由浅入深(C# 版)

    单例模式由浅入深 C 版 有时候 我们希望某类只有一个实例 这样的好处是 1 可以实现数据共享 2 避免大量的创建销毁实例的操作 提高性能 为了实现单例模式 通常做法是 1 将构造函数私有化 避免外部直接new对象 2 对外提供一个方法来返
  • docker基础

    docker背景 以linux而言 linux操作系统会有一个主进程pid 1派生出其他进程来控制不同服务例如 pid 2 gt python pid 3 gt java pid4 gt php 三个服务可能会相互影响 使用者期望将这三个不
  • npm wepack-cli --save-dev nodejs -4048 operation not permitted

    其实就是权限不够 方法一在该目录管理员打开终端运行该命令即可 方法二 修改nodejs的权限找到nodejs的目录 之后右键属性 修改完成之后执行npm webpack cli save dev如果还是出现 4048的错误 重启电脑之后即可
  • mavenCentral()、jcenter()、google()仓库

    buildscript里是gradle脚本执行所需依赖 分别是对应的maven库和插件 buildscript repositories google jcenter maven url http maven aliyun com nexu
  • 2020-12-21

    转载一个SpringDataJpa JPA ORM框架的比较文章吧 供自己学习 三者区别 1 JPA是由sun定义的一个ORM规范 提供以下 2 SpringDataJpa是由Spring提供的一套简化JPA开发的框架 Criteria A
  • Hp服务器机箱风扇维修,HP服务器机箱改装(3)

    前几天一直学车 每天都要早上6点半爬起来去学车 所以改装进度有点慢 这两天休息 所以突击了一下 其实进度也不是很快 主要是下刀之前要多想 而且改的时候 要慢工出细活 所以进度不是很大 呵呵 放图 为了前面能装下那个360冷排 所以要把机箱正
  • 部署Swarm - Deploy Swarm

    参考文档 https docs docker com swarm install manual 使用的部署环境 参考文档中是要把Swarm部署到AWS的EC2上的 没有这样的条件 所以选择在本地建立多个虚机机来搭建 操作系统选择centos
  • Linux虚拟机配置yum源

    实验环境 centOS8 查看有没有yum源 ls etc yum repos d 如果有很多 repo文件 从本文第一步开始做 如果没有 则直接创建一个 repo文件 从本文第二步开始做 1 创建一个文件夹 把 etc yum repos
  • 上采样、下采样、过采样、欠采样是什么?

    之前面试时候遇到过这道题 这里整理一下 一般NLPer可能欠采样 过采样问的比较多 上 下采样CVer问的比较多 上采样和下采样在CNN中 可以理解为放大图片和缩小图片 所以池化其实可以理解为是下采样 数据不平衡时 可以使用欠采样和过采样进
  • 目标检测简介

    目录 一 简介 1 目标检测核心问题 2 目标检测任务 二 评估指标 1 IOU交并比 2 分类模型评估指标 1 准确率accuracy 2 召回率recall 3 精确率precision 4 F值 5 ROC和AUC 3 AP值 示例
  • cuda文件操作

    1 读取文件 const char usage Usage dwtHaar1D signal
  • UE4C++泛型蓝图节点

    UE4C 泛型蓝图节点 注 这篇文章是博主边学边写的便于自己学习 很多东西可能解释得不是很详细 此处采用的是UE4 26 要求 掌握基本的c 知识 基本的UE元组符的使用 例如 UFUNCTION等等 全局搜索CustomThunk关键字
  • C++类内存分布

    书上类继承相关章节到这里就结束了 这里不妨说下C 内存分布结构 我们来看看编译器是怎么处理类成员内存分布的 特别是在继承 虚函数存在的情况下 工欲善其事 必先利其器 我们先用好Visual Studio工具 像下面这样一步一步来 先选择左侧
  • 操作系统安全规范之Windows Server

    1 重要安全策略 1 1 密码复杂度 修改方法 在 运行 中输入 gpedit msc 打开组策略编辑器 浏览到路径 本地计算机策略 计算机配置 Windows设置 安全设置 帐户策略 密码策略 默认配置内容如下图 修改如下参数配置 密码必
  • springboot毕设项目家政服务管理平台m7qt4(java+VUE+Mybatis+Maven+Mysql)

    项目运行 环境配置 Jdk1 8 Tomcat8 5 Mysql HBuilderX Webstorm也行 Eclispe IntelliJ IDEA Eclispe MyEclispe Sts都支持 项目技术 Springboot myb
  • java list集合使用stream流,根据属性值,找到对应下标,交换位置

    import java util public class TestAa private String name private Integer id public static void main String args List
  • java swing 弹出对话框与父窗口传值实例

    用到父子窗口传值 去网上搜了一堆废话 感觉很不爽 自己研究了半天 原来很简单 这个例子还用到了线程 不用会更清楚 不多说了 上代码 注意是怎样传值的 对话框 package des import java awt Color import