jak wywołąć inna klase z innego pliku

0

Mam klase menu w ktorej jest guzik menu2

 if (e.getSource()==menu2) 
        {
         ///co tu nalezy wstawic zeby wywolac inna klase tworzaca menu 2?
         /// klasa jest juz stworzona w tym samym folderze o nazwie submenu
        }
0

Ale że co? Chcesz kompilować ze źródeł w locie? Bo niezbyt rozumiem. Jeśli chcesz stworzyć instancję klasy (która już jest skompilowana) to robisz new Klasa(parametry).

0

tak oba są skompilowane i co teraz wstawiam ta instancje ale nie wykonuje instrukcji zawartych w klasie submenu
po prostu nic się nie dzieje.

if (e.getSource()==menu2) 
        {
          new submenu();
        }
0

A co miałoby się dziać ? Utworzyłeś obiekt i tyle. Nic więcej samo się nie stanie ;p

1

new submenu() powoduje alokację pamięci na obiekt i wywołanie konstruktora, który wypełnia ten kawałek pamięci odpowiednimi wartościami + jakieś ewentualne efekty uboczne. Zapewne zapomniałeś podpiąć tego podmenu do właściwego nadmenu, zobacz tutaj na przykłady: http://download.oracle.com/javase/tutorial/uiswing/components/menu.html

0

chodzi o to ze powiedzmy w pierwszej klasie rysowany jest powiedzmy obrazek i jest guziki i po jego naciśnięciu zmienia na to co jest w drugiej klasie czyli np jakiś nowy rysunek i nowe guziki.

0

no ok takto jak ta klasa jest zadeklarowana to co ja uruchamia??

0

Polecenie

  new submenu();

uruchamia konstruktor bezargumentowy klasy submenu(). Dopóki nie zobaczymy kodu tego konstruktora, nie dostaniesz wyczerpującej odpowiedzi.

0

no ok pierwszy apllet wyswietla napis "wartosc a" a drugi "aaaaaa" i po nacisnieciu prawej stralki nie dopisuje oto kody sam kombinuje juz od paru dni i ani rusz!
klasa menu

import java.awt.*;//biblioteki javy
import javax.swing.*;
import java.awt.image.*;
import java.util.Random;
import java.applet.*;
import java.awt.event.*;
public class menu extends JApplet implements java.awt.event.ActionListener, KeyListener, Runnable
{
    
   
    Thread          watek;//deklaracja watku


    public void init()
    {  
        
        addKeyListener(this);
        setLayout(null);//ustawienie sciezki wejsciowej na zerowa
        resize(530,530);//
        watek=new Thread(this);//dodanie watku do appletu
   }
        public void keyPressed(KeyEvent e) {
          if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
          
          new menu2();
         
         }
         repaint();
        }
    public void keyTyped(KeyEvent e){
      
     }
   
    public void keyReleased(KeyEvent e) {

    }

    public void run()
    {

             
            repaint();
            new menu2();
      }
    public void start()
    {
       
    }

    public void stop()
    {
    }
     public void paint(Graphics g)
    {
        
     g.drawString("Wartość a: ", 250, 360);
    }

    public void destroy()
    {
    }
   
    public void actionPerformed(java.awt.event.ActionEvent e)
        {
    
        }

    }
            

     

 

klasa menu2

import java.awt.*;//biblioteki javy
import javax.swing.*;
import java.awt.image.*;
import java.util.Random;
import java.applet.*;
import java.awt.event.*;
public class menu2 extends JApplet implements java.awt.event.ActionListener, KeyListener, Runnable
{ 
    Thread          watek;//deklaracja watku
    
    public void init()
    {  
        
        addKeyListener(this);
        setLayout(null);//ustawienie sciezki wejsciowej na zerowa
        resize(530,530);//
        watek=new Thread(this);//dodanie watku do appletu
        watek.start();
   }
        public void keyPressed(KeyEvent e) {

        }
    public void keyTyped(KeyEvent e){
      
     }
   
    public void keyReleased(KeyEvent e) {

    }

    public void run()
    {

             
             repaint();
            
      }
    public void start()
    {
       
    }

    public void stop()
    {
    }
     public void paint(Graphics g)
    {
        
     g.drawString("aaaaaaaaaa ", 300, 360);
    }

    public void destroy()
    {
    }
   
    public void actionPerformed(java.awt.event.ActionEvent e)
        {
    
        }
    
   
    }
            

     

 

0

Ty na pewno wiesz co robisz? Pierwszy raz widzę jawne wywołanie konstruktora apletu. Aplet jest wykonywany przez przeglądarkę, ona przydziela mu miejsce na stronie i wywołuje we właściwej kolejności metody apletu.

0

korzystam z blue jay i tam kompiluje program, znajomego się pytałem to mówił ze tak wywołuje ale mi coś nie chce to niby co mam napisać żeby wywołać ta druga klasę??

1 użytkowników online, w tym zalogowanych: 0, gości: 1