一般类的成员变量都应设成private的。
所以你只需要在 class aa这么写
class aa{
    JTextArea text = new JTextArea;    public void setText(String strText) {
        text.setText(strText) ;
    }}再class bb 里写个函数调用他。class bb{
     
    public void f() {    aa  obja = new aa() ;
    obja.setText("test");    }}

解决方案 »

  1.   

    看类a的成员变量的性质,
    如果是的public,
    类b就通过a的对象来访问,
    如果是private,
    就在a中写个方法setA()来访问,
    在类b中掉用对像a的setA()的方法来访问!
      

  2.   

    你的意思是说在class aa中定义一个方法,在class bb中在调用是么??
      

  3.   

    就像上面的那个仁兄说的,看类成员变量的性质
    不过建议把成员变量设成private,这样才有安全性
    java里大都是把成员变量设成private
    然后提供 Getter函数和setter 函数访问他们
      

  4.   

    可否帮忙看一下,不胜感激import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    import javax.swing.border.*;
    import java.util.*;private class TJFrame extends JFrame
    {
    Container container = null;
    JTextArea textarea; public TJFrame (String title)
    {
    super(title);
    container = this.getContentPane();
    container.setBackground(Color.white);
    container.setForeground(Color.blue);

    JLabel label = new JLabel("this is a swing frame",JLabel.CENTER);
    label.setFont(new Font("Sans",Font.PLAIN,22));
    container.add(label); JMenuBar menubar = new JMenuBar();
    menubar.setBorder(new BevelBorder(BevelBorder.RAISED));
    container.add(menubar,BorderLayout.NORTH);
    JMenu filemenu = new JMenu("File");
    JMenu newfilemenu = new JMenu("New");
    JMenu editmenu = new JMenu("Edit");
    JMenu formatmenu = new JMenu("View");
    JMenu searchmenu = new JMenu("Search");
    JMenu windowmenu = new JMenu("Window");
    JMenu optionsmenu = new JMenu("Option");
    JMenu helpmenu = new JMenu("Help"); textarea = new JTextArea();
    container.add(textarea);
    textarea.setText("niaho");

    JMenuItem txt = new JMenuItem("Text");
    Action php = new phpAction(container);
    JMenuItem java = new JMenuItem("Java");
    JMenuItem open = new JMenuItem("Open");
    JMenuItem save = new JMenuItem("Save");
    JMenuItem close = new JMenuItem("Close");
    Action quit = new QuitAction(); filemenu.add(newfilemenu);
    newfilemenu.add(txt);
    newfilemenu.add(php);
    newfilemenu.add(java);
    filemenu.add(open);
    filemenu.add(save);
    filemenu.add(close);
    filemenu.add(quit);

    menubar.add(filemenu);
    menubar.add(editmenu);
    menubar.add(formatmenu);
    menubar.add(searchmenu);
    menubar.add(windowmenu);
    menubar.add(optionsmenu);
    menubar.add(helpmenu); addWindowListener(new WindowEventHandler());
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    setSize(650,500);
    show();
    } public static void main(String[] args) 
    {
    TJFrame frame = new TJFrame("Swing frame");
    } public void setText(String strText) {
            textarea.setText(strText) ;
        }
    }class WindowEventHandler extends WindowAdapter
    {
    public void windowClosing(WindowEvent evt)
    {
    System.exit(0);
    }
    }class QuitAction extends AbstractAction
    {
    public QuitAction()
    {
    super("Quit");
    }
    public void actionPerformed(ActionEvent e)
    {
    System.out.print(e.getActionCommand());
    System.exit(0);
    }
    }class phpAction extends AbstractAction
    {
    public phpAction(Container container)
    {
    super("PHP");
    }
    public void actionPerformed(ActionEvent e)
    {
    //JFrame n = new JFrame("test");
    //n.addWindowListener(new WindowEventHandler());
    //n.setSize(300,150);
    //n.show();
    f();
    }
    public void f()
    {
    TJFrame obja = new TJFrame() ;
    obja.setText("test");
        }
    }
      

  5.   

    想来你也是因为事件的原因才会想到用需要这样用的。一般事件类都不是这样用的,很麻烦。事件类一般主张写成内部类,也就是写在你的TJFrame类里面,这样一来,它就可以直接调用TextFiled的对象了,不用再专门写方法了。内部类最主要的用途就是这了。