Java 在JFrame中更新JLabel中的字符串变量

Java 在JFrame中更新JLabel中的字符串变量,java,swing,Java,Swing,我有个小问题。我已经创建了2个JFrames,在主框架中,我想显示一个字符串名称。在另一个我可以提供我的名字。当我将“name”保存到变量name时,它不会在主框架中更新。如何更新此框架 public class Main extends JFrame { IFrame frame = new IFrame ("Main"); JButton button_name = new JButton("Enter your name"); IFrame frame_n

我有个小问题。我已经创建了2个JFrames,在主框架中,我想显示一个字符串名称。在另一个我可以提供我的名字。当我将“name”保存到变量name时,它不会在主框架中更新。如何更新此框架

public class Main extends JFrame {

    IFrame frame = new IFrame ("Main");
    JButton button_name = new JButton("Enter your name");    
    IFrame frame_name = new IFrame ("What is your name?");
    Point center = 
    GraphicsEnvironment.getLocalGraphicsEnvironment().getCenterPoint(); //Get center of screen
    static Image Icon = Toolkit.getDefaultToolkit().getImage("Icon.png");
    ButtonListener button_listen = new ButtonListener();

    /**************************************************************************/
    String name = new String();
    JButton button_get_name = new JButton("OK");
    JTextField field_name = new JTextField(15);
    JPanel panel_name = new JPanel();
    /**************************************************************************/

    public Main(){
        this.setIconImage(Icon);

        button_name.addActionListener(button_listen); 
        button_get_name.addActionListener(button_listen);

        JFrame.setDefaultLookAndFeelDecorated(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLayout(new GridLayout(4,1));

        frame.add(new JLabel (name, SwingConstants.CENTER));
        frame.add(button_name);
        frame.add(new JLabel ("Table 2", SwingConstants.CENTER));
        frame.add(panel_name);

        frame.setBounds(center.x - 400 / 2, center.y - 400 / 2, 400, 400);      //Set window in a center of screen 
        frame.setVisible(true);         
        /**********************************************************************/
        panel_name.setBackground(Color.CYAN);
        /**********************************************************************/
    }

    /**
     * @param args the command line arguments
     */

    public static void main(String[] args) {
        new Main();
    }

    //Class responsible for detectin which button was pushed
    public class ButtonListener implements ActionListener {
        @Override
        public void actionPerformed(ActionEvent e) {
            if (e.getSource() == button_name){
                CreateFrameName();
            }
            if (e.getSource() == button_get_name){
                GetName();
            }
        }
    }

    //Creates a frame for name provide
    public void CreateFrameName() {
        int frame_name_width = 280;
        int frame_name_height = 100;
        frame.dispose();
        frame_name.setBounds(center.x - frame_name_width / 2, center.y - 
                frame_name_height / 2, frame_name_width, frame_name_height);
        frame_name.setLayout(new GridLayout(2,1));
        frame_name.add(field_name);
        frame_name.add(button_get_name);
        frame_name.setAlwaysOnTop(true);
        frame_name.setVisible(true);
    }
    public void GetName() {
        name = field_name.getText();
        frame_name.dispose();
        frame.setVisible(true);
        System.out.println(name);
    }
}

您需要某种可以在两个框架之间共享的模型,第一个框架将设置模型的值,第二个框架将提醒模型状态已更改,允许它更新其视图考虑如下well@MadProgrammer,我已经将其更改为一个jframe。你能告诉我怎么做这个模型吗?问候语