Objekt von Klasse im gleichen Paket erzeugen

  • Themenstarter Themenstarter Crystalmetty
  • Beginndatum Beginndatum
C

Crystalmetty

Gast
Hallo erstma.

Ich bin noch recht neu in der Javawelt und hab schon ein Problem. Also:
Ich hab in einem Paket zwei Klassen. Jetzt möchte ich in einer Methode von Klasse A ein Objekt von Klasse B erzeugen.
Ich bekomme das irgendwie nicht auf die Reihe.
Hoffe auf Hilfe.
 
Ich bin irgendwie zu doof:

FileMenu.java
Java:
package easteregg.GUI.MainWindow;

import javax.swing.*;

class FileMenu extends JMenu
{
	public FileMenu()
	{
		super("File");
		add( new JMenuItem("New") );
		add( new JMenuItem("Open") );
		add( new JMenuItem("Save") );
		add( new JMenuItem("Save as...") );
		addSeparator();
		add( new JMenuItem("Close") );
		add( new JMenuItem("Quit") );
	}
}

MainWindow.java
Java:
package easteregg.GUI.MainWindow;

import javax.swing.*;
import java.awt.*;

class MainWindow extends JFrame
{
	public MainWindow()
	{
		//Main Configuration
		setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
		setSize(1240, 1000);
		setLocationByPlatform(true);	
	
		//Menubar
		JMenuBar menuBar = new JMenuBar();
		
		JMenu mnuFile = new FileMenu();
		menuBar.add(mnuFile);
		
		setJMenuBar(menuBar);
	}
}

Beide Dateien liegen in /home/tux/Dokumente/easteregg/GUI/MainWindow.

Die Kommandozeile:

tux@stefans-laptop:~$ cd /home/tux/Dokumente/easteregg
tux@stefans-laptop:~/Dokumente/easteregg$ javac GUI/MainWindow/FileMenu.java
tux@stefans-laptop:~/Dokumente/easteregg$ javac GUI/MainWindow/MainWindow.java
GUI/MainWindow/MainWindow.java:19: cannot find symbol
symbol : class FileMenu
location: class easteregg.GUI.MainWindow.MainWindow
JMenu mnuFile = new FileMenu();
^
1 error
tux@stefans-laptop:~/Dokumente/easteregg$


Ich weiß nich wirklich was ich falsch mache.
 
Java:
package easteregg.GUI.MainWindow;

import javax.swing.*;

public class FileMenu extends JMenu
{
	public FileMenu()
	{
		super("File");
		add( new JMenuItem("New") );
		add( new JMenuItem("Open") );
		add( new JMenuItem("Save") );
		add( new JMenuItem("Save as...") );
		addSeparator();
		add( new JMenuItem("Close") );
		add( new JMenuItem("Quit") );
	}
}

tux@stefans-laptop:~$ cd /home/tux/Dokumente/easteregg/GUI/MainWindow
tux@stefans-laptop:~/Dokumente/easteregg/GUI/MainWindow$ javac FileMenu.java
tux@stefans-laptop:~/Dokumente/easteregg/GUI/MainWindow$ javac MainWindow.java
MainWindow.java:19: cannot find symbol
symbol : class FileMenu
location: class easteregg.GUI.MainWindow.MainWindow
JMenu mnuFile = new FileMenu();
^
1 error
tux@stefans-laptop:~/Dokumente/easteregg/GUI/MainWindow$
 
cd home\tux\Dokumente
javac easteregg\GUI\MainWindow\*.java
java easteregg\GUI\MainWindow\MainWindow

würde aber evtl. vorher noch ne main-Methode definieren in MainWindow und evtl. auch setVisible aufrufen
Java:
package easteregg.GUI.MainWindow;
 
import javax.swing.*;
import java.awt.*;
 
class MainWindow extends JFrame
{
    public MainWindow()
    {
        //Main Configuration
        setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        setSize(1240, 1000);
        setLocationByPlatform(true);    
    
        //Menubar
        JMenuBar menuBar = new JMenuBar();
        
        JMenu mnuFile = new FileMenu();
        menuBar.add(mnuFile);
        
        setJMenuBar(menuBar);        
        setVisible(true); //!
    }
    
    public static void main(String[] args) {  //!
	new MainWindow();
   }
}
 
Vielen Dank, mit javac easteregg\GUI\MainWindow\*.java funktionierts. :toll:
Aber leider ist das nur ein Unterpaket. Wie kompilere ich denn ein ganzes Paket mit Unterpaketen?

Danke im voraus.

PS: main-Methode ist inner andren Klasse.
 

Neue Themen


Zurück
Oben