java - 通过自定义按钮将数据从 JDialog 传递到框架

标签 java swing jbutton jdialog

我是 jdialog 的新手,我已经进行了整个搜索,但我似乎找不到使用自定义按钮的解决方案。我发现的唯一解决方案是使用其内置输入 JDialog。但这并不能解决我的问题。

我正在尝试传递数据(单击保存后从对话框文本字段“hello”到父框架文本字段)但无法这样做。

有人遇到同样的问题吗? 有什么帮助吗?

enter image description here

public class dataparse {

  String result;
  String inputValue;

public void mainFrame() {
    JFrame frame = new JFrame(" Parent Frame ");
    JPanel center = new JPanel();
    JButton enter = new JButton("Enter");
    // JLabel data = new JLabel("data is...");
    JTextField text = new JTextField();

    frame.setSize(400, 400);
    center.setLayout(new GridLayout(0, 1));
    center.add(text);
    center.add(enter);
    frame.add(center, BorderLayout.CENTER);

    enter.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent arg0) {
            confirmDialog();
            text.setText(inputValue);

        }
    });

    frame.setVisible(true);

}


    private void confirmDialog(){
        JTextField output = new JTextField("Hellloooo");
        JButton save = new JButton("Save");


          JDialog customDialog = new JDialog();
          Container pane = customDialog.getContentPane();
          pane.setLayout(new GridLayout(0,1));

          pane.add(new JLabel("Startubg"));
          pane.add(output);
          pane.add(save);

          customDialog.setSize(300,400);

          customDialog.add(output);
          customDialog.add(save);

          customDialog.setVisible(true);

          save.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent arg0) {
                // TODO Auto-generated method stub
                result = output.getText();
            }
        });

    }

提前谢谢你:)

对于一个实例,我有2个类,我希望第二个类从第一个类调用dialog.dispose()。但我无法调用该方法,有什么想法

ma​​in.java

public JDialog dialogBox(){

    //JDialog dialog = new JDialog(frame, "Date picker", true);
    dialogButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent arg0) {
            dialog = new JDialog(frame,"Date picker " , true);
            DatePicker_Demo picker = new DatePicker_Demo();
            dialog.setSize(500, 300);
            dialog.setLayout(new GridLayout(0,2));
            dialog.add(new DatePicker_Demo().addBtn());
            dialog.pack();
            dialog.setVisible(true);
        }
    });
    return dialog;
}

第二个.java

public JButton addBtn(){
    JButton btn = new AddBills().exitBtn();
    btn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent arg0) {
            // TODO Auto-generated method stub
            new AddBills().dialogBox().dispose();
        }
    });

    return btn;
}

最佳答案

将 text.setText 部分放入“保存”按钮的 actionListener 中有何问题?

例如

public void actionPerformed(ActionEvent arg0) {
        // TODO Auto-generated method stub
       result = output.getText();
       text.setText(result);
 }

关于java - 通过自定义按钮将数据从 JDialog 传递到框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54418274/

相关文章:

Docker : Difference in PID values and visible processes 中的 Java 9 ProcessHandle API

java - 在 Java 中,如何将十进制数转换为基数 36?

java - 如何在 java 中使用预先给定的整数列表进行评分系统?

java - 如何在另一个类中获得一个类生成的事件的响应?

java - jbutton Action ,setIcon在 Action 结束时执行

java - 项目使用 Tomcat JNDI 数据源查找时如何实现 Liquibase 变更日志

java - 在 MacOS 上取消装饰 JInternalFrame

java - 动态调整文本区域大小以适应内容

java - Java 中的可见性已消失

java - 是否可以使用 Timer 为 JButton 创建淡入淡出效果?