Frame 和Panel各一个
现把new Frame().add(new Panel())后
如何在Panel中传递参数给Frame?
刚看java谢谢赐教

解决方案 »

  1.   

    如果你的这个frame中有一个方法为void setName(String name), 那在你的Panel的代码中直接使用frame.setName("Hello"); 就是一简单的方法调用, 面向对象中的所谓传消息, 实际上说白了就是函数调用.
      

  2.   

    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    public class TestArgs {
            public static void main(String[] args)
            {
                    ArgsFrame frame=new ArgsFrame();
                    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                    frame.setVisible(true);
            }
    }
    class ArgsFrame extends JFrame
    {
            public ArgsFrame()
            {
                    setTitle("Test Args");
                    setSize(300,200);
                    ArgsPanel panel=new ArgsPanel();
                    add(panel,BorderLayout.SOUTH);
            }
            public static String GetString(String s)
            {
                    return s + " is returned";
            }
    }
    class ArgsPanel extends JPanel
    {
            public ArgsPanel()
            {
                    JButton button=new JButton("Button1");
                    button.addActionListener(
                    new ActionListener()
                    {
                            public void actionPerformed(ActionEvent event)
                            {
                                    System.out.println((new ArgsFrame()).GetString("Panel"));
                            }
                    }
                    );
                    add(button);
                    
            }
    }