Accessing Members in Another Class

How would I access a member from another class? In the actionPerformed method, I want to be able to access objects such as filemenu in the Main class. Here's most of my code:

[code]

class fileEvent implements ActionListener

{public void actionPerformed(ActionEvent e,JMenuItem& item)

{

}

}

public class Main extends JFrame implements ActionListener, ItemListener {

/** Creates a new instance of Main */

public Main() {

this.setTitle("Cross-platform Map Editor");

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JInternalFrame drawingframe;

JDesktopPane desk;

JPanel drawingpanel = new JPanel();

JMenuBar menubar = new JMenuBar();

JMenu filemenu = new JMenu("File");

JMenu editmenu = new JMenu("Edit");

JMenu mapmenu = new JMenu("Map");

JMenu tilesmenu = new JMenu("Tiles");

JMenu toolsmenu = new JMenu("Tools");

JMenu windowmenu = new JMenu("Window");

JMenu aboutmenu = new JMenu("Help");

JMenuItem fileItem1 = new JMenuItem("New...",KeyEvent.VK_N);

fileItem1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, ActionEvent.ALT_MASK));

fileItem1.addActionListener(new fileEvent(),fileItem1);

JMenuItem fileItem2 = new JMenuItem("Open...");

JMenuItem fileItem3 = new JMenuItem("Save");

JMenuItem fileItem4 = new JMenuItem("Save As...");

JMenuItem fileItem5 = new JMenuItem("Exit");

JMenuItem editItem1 = new JMenuItem("Undo");

JMenuItem editItem2 = new JMenuItem("Redo");

JMenuItem editItem3 = new JMenuItem("Cut");

JMenuItem editItem4 = new JMenuItem("Copy");

JMenuItem editItem5 = new JMenuItem("Paste");

JMenuItem editItem6 = new JMenuItem("Select All");

filemenu.add(fileItem1);

filemenu.add(fileItem2);

filemenu.add(fileItem3);

filemenu.add(fileItem4);

filemenu.add(fileItem5);

editmenu.add(editItem1);

editmenu.add(editItem2);

editItem2.add(new JSeparator());

editmenu.add(editItem3);

editmenu.add(editItem4);

editItem4.add(new JSeparator());

editmenu.add(editItem5);

menubar.add(filemenu);

menubar.add(editmenu);

menubar.add(mapmenu);

menubar.add(tilesmenu);

menubar.add(toolsmenu);

menubar.add(windowmenu);

menubar.add(aboutmenu);

this.setJMenuBar(menubar);

JButton drawingbutton1 = new JButton("Pencil");

JButton drawingbutton2 = new JButton("Line");

JButton drawingbutton3 = new JButton("Paint Pucket");

JButton drawingbutton4 = new JButton("Recntangle");

JButton drawingbutton5 = new JButton("Filled Rectangle");

drawingpanel.add(drawingbutton1);

drawingpanel.add(drawingbutton2);

drawingpanel.add(drawingbutton3);

drawingpanel.add(drawingbutton4);

drawingpanel.add(drawingbutton5);

drawingframe = new JInternalFrame("Drawing", true,true,true,true);

drawingframe.add(drawingpanel);

drawingframe.setSize(200,300);

drawingframe.setVisible(true);

desk = new JDesktopPane();

desk.add(drawingframe);

this.add(desk);

this.setSize(500,500);

this.setVisible(true);

}

/code]

[3249 byte] By [bfrbfra] at [2007-11-27 5:10:15]
# 1

You don't want your Main class to have accessor methods or public variables... that's the worst dependency you can have.

Anyways, think in terms of objects. When one object has a reference to another object, it can access all of its public data and methods.

I'd recommend reading up on the basics:

http://java.sun.com/docs/books/tutorial/java/index.html

ktm5124a at 2007-7-12 10:30:17 > top of Java-index,Java Essentials,Java Programming...