W pliku Menu.java chce oprogramowac samo Menu, wiec utworzylem klase
(class MyMenu) i teraz chcialbym ta klase wywolac w Przegladarka.java,
aby w glownym oknie aplikacji bylo widoczne Menu (nie wiem, czy sie
klase wywoluje z sasiedniego pliku *.java, czy jakos inaczej sie tego
dokonuje ?).
Jestem poczatkujacy, wiec wczesniej robilem to wszystko w jednym pliku
*.java, ktory rozrastal sie do duzych rozmiarow (bo tam bylo wszystko
oprogramowane). Dowiedzialem sie, ze mozna utworzyc wiele plikow *.java
z klasami.
--
Pozdrawiam
Witam wszystkich grupowiczow ( z uwagi na moj pierwszy post :)
Jesli piszesz w eclipsie to tworzysz sobie pakiet, do niego wrzucasz
wszystkie pliki z kodem zrodlowym. W klasie MyMenu tworzysz gettera,
ktory bedzie zwracal sam siebie. W klasie glownej mozesz przetrzymywac
referencje do klasy MyMenu. W jakiejs metodzie inicjalizujacej tworzysz
instancje MyMenu np.
m_MyMenu = new MyMenu(..);
i dalej dodajesz do okna (jesli JFrame)
m_frame.setJMenuBar(m_myMenu);
pozdrawiam
Piotr
Proponuję przeczytać przynajmniej jakąś książkę na temat Javy. Dobrą
pozycją dla początkujących jest Thinking in Java Bruce'a Eckela. Jest
też polskie tłumaczenie (nakładem Helionu).
Natomiast odnośnie twojego problemu: w pliku Nazwa.java musi znajdować
się dokładnie jedna klasa publiczna albo interfejs o nazwie Nazwa.
Pozdrawiam,
Leonard
> Witam wszystkich grupowiczow ( z uwagi na moj pierwszy post :)
>
> Jesli piszesz w eclipsie to tworzysz sobie pakiet, do niego wrzucasz
> wszystkie pliki z kodem zrodlowym. W klasie MyMenu tworzysz gettera,
> ktory bedzie zwracal sam siebie. W klasie glownej mozesz przetrzymywac
> referencje do klasy MyMenu. W jakiejs metodzie inicjalizujacej tworzysz
> instancje MyMenu np.
> m_MyMenu = new MyMenu(..);
> i dalej dodajesz do okna (jesli JFrame)
> m_frame.setJMenuBar(m_myMenu);
Witam
Przyklad: W pliku samochody.java mam cos takiego ->
/* jedna klasa wraz z konstruktorem, w ktorym jest oprogramowanie samej
ramki (JFrame).*/
public class samochody implements ActionListener {
public samochody() {
JFrame frame = new JFrame("Wybierz markę auta");
............oprogramowanie samej ramki.
}
}
---------------------------------------------------------
Za to w pliku Test.java cos takiego ->
/* jest to glowny plik uruchomieniowy aplikacji, gdzie utworzylem obiekt
klasy samochody z pliku samochody.java, czyli 'auto' i jezeli nacisniety
zostanie przycisk na glownym oknie aplikacji to powinna wyswietlic sie
ramka, ktora wczesniej oprogramowalem*/
samochody auto = new samochody();
public void actionPerformed(ActionEvent e) {
if(e.getSource()== przycisk1) {
auto.samochody();
/*tu pojawia sie blad, kompilator chce, zebym utworzyl metode samochody,
dodalem import i dalej jest blad*/
}
}
Jak ta metode samochody() z tamtej klasy (class samochody) wywolac ?
--
Pozdrawiam
klasa samochody nie ma metody samochody(). ma konstruktor publiczny, ale
jego nie wywolujesz normalnie, jest on wywolywany automatycznie przez
operator new. jezeli chcesz miec metode, ktora wykonuje jakies zadanie,
nazwij ja adekwatnie do tego, co robi i wtedy bedziesz mogl ja normalnie
wywolac. konstruktor powinien zajmowac sie tylko inicjalizacja obiekty
klasy samochody. a nazwy klas piszemy wielka litera.
pzdr
szeryf
pozdrawiam
Piotr