[JAVA] problem

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod rocky32 21. 10. 2006 13:01

Ahojte, momentalne sa ucim programovat v Jave a vyskytol sa mi nasledujuci problem.
Ak chcem vytvorit triedu, ktora rozsiruje nejaku inu triedu a sucasne do nej impementovat ActionListener, kompilator mi vyhodi chybu.
Popis
Napr: public class ListFrame extends Frame implements ActionListener

Nepomoze mi niekto, ako vyriesit tento problem?
rocky32
Junior

Odeslat příspěvekod yaroukh 21. 10. 2006 13:17

A mas spravne implementovany vsechny metody toho ActionListeneru?
Hod sem kod ty svoji tridy; hlaska, kterou jsi sem dal, je nanic.
my favourite music: sounds4u.net/?fuID=3
yaroukh
Junior
Uživatelský avatar

Odeslat příspěvekod rocky32 21. 10. 2006 13:22

Kód: Vybrat vše
import java.awt.*;
import java.util.*;


public class ListFrame extends Frame{

   private Panel buttonPanel = new Panel();
   private Button readButton = new Button("Read");
   private Button writeButton = new Button("Write");

   private Panel fieldPanel = new Panel();
   private TextField indexField = new TextField("");
   private TextField contentField = new TextField("");

   private ArrayList list = new ArrayList();

   public ListFrame(){
     
      setBounds(100,100,300,200);
      setLayout(null);

      buttonPanel.setBounds(50,50,100,100);
      buttonPanel.setLayout(new GridLayout(2,1));
      buttonPanel.add(readButton);
      buttonPanel.add(writeButton);
      add(buttonPanel);

      fieldPanel.setBounds(150,50,100,100);
      fieldPanel.setLayout(new GridLayout(2,1));
      fieldPanel.add(indexField);
      fieldPanel.add(contentField);
      add(fieldPanel);
   }
}



OKi,tak v kratkosti do tohto GUI musim zaimplementovat ActionListener a neviem sa pohnut, ak by na zaciatku nebolo extend nie je problem, ale takto mi impelements ActionListener uz nezoberie.

//christian: přidán [code] tag
rocky32
Junior

Odeslat příspěvekod AZOR 21. 10. 2006 13:29

no a kde máš ty metody z action listeneru, které musíš dopsat ?
tedy actionPerformed ?
Marta Jandova's Absolute Monarchy Forever Rulezz - one country, one world, no wars, full of love.
ALL SHOULD DIE UNDER HER FLAG, AND FOR HER EYES !
AZOR
Junior
Uživatelský avatar

Odeslat příspěvekod AZOR 21. 10. 2006 13:31

Co máš za GUI? Většina normálních ti to actionPerformed vloží sama, po kouzelném kliknutí
Marta Jandova's Absolute Monarchy Forever Rulezz - one country, one world, no wars, full of love.
ALL SHOULD DIE UNDER HER FLAG, AND FOR HER EYES !
AZOR
Junior
Uživatelský avatar

Odeslat příspěvekod PaLaDiN 21. 10. 2006 13:34

AZOR >> on tam vobec sa ani nesnazi implementovat to (nema implements rozhranie) cize ako od neho chces aby tam mal uz tu metodu ??
PaLaDiN
Junior
Uživatelský avatar

Odeslat příspěvekod yaroukh 21. 10. 2006 13:35

1) myslel jsem ten kod, ktery ti nechodi (tedy ten s "implements ActionListener")
2) obecne mi neprijde spravne spojovat dohromady jakykoli listener s prvkem GUI (kterym ten Frame je)
3) take soudle podle metod toho Frame (resp. Window, ze ktereho vychazi) by se mela instance listeneru instanci framu spis pridavat ... ty misto toho vyrabis krizence Frame a ActionListeneru (viz bod 2)

snad si rozumime :o)
Naposledy upravil yaroukh dne 21. 10. 2006 13:38, celkově upraveno 1
my favourite music: sounds4u.net/?fuID=3
yaroukh
Junior
Uživatelský avatar

Odeslat příspěvekod yaroukh 21. 10. 2006 13:36

PaLaDiN: precti si (jeste jednou) puvodni prispevek
my favourite music: sounds4u.net/?fuID=3
yaroukh
Junior
Uživatelský avatar

Odeslat příspěvekod yaroukh 21. 10. 2006 13:37

AZOR píše:Co máš za GUI? Většina normálních ti to actionPerformed vloží sama, po kouzelném kliknutí /quote]


GUI? Myslis spis IDE, ne?
my favourite music: sounds4u.net/?fuID=3
yaroukh
Junior
Uživatelský avatar

Odeslat příspěvekod AZOR 21. 10. 2006 13:38

Kód: Vybrat vše
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.*;


public class ListFrame extends Frame implements ActionListener{

private Panel buttonPanel = new Panel();
private Button readButton = new Button("Read");
private Button writeButton = new Button("Write");

private Panel fieldPanel = new Panel();
private TextField indexField = new TextField("");
private TextField contentField = new TextField("");

private ArrayList list = new ArrayList();

public ListFrame(){

setBounds(100,100,300,200);
setLayout(null);

buttonPanel.setBounds(50,50,100,100);
buttonPanel.setLayout(new GridLayout(2,1));
buttonPanel.add(readButton);
buttonPanel.add(writeButton);
add(buttonPanel);

fieldPanel.setBounds(150,50,100,100);
fieldPanel.setLayout(new GridLayout(2,1));
fieldPanel.add(indexField);
fieldPanel.add(contentField);
add(fieldPanel);
}

    public void actionPerformed(ActionEvent e) {
// a tady obsluha tech tlačítek
    }
}[/


//christian: přidán [code] tag :evil:
Marta Jandova's Absolute Monarchy Forever Rulezz - one country, one world, no wars, full of love.
ALL SHOULD DIE UNDER HER FLAG, AND FOR HER EYES !
AZOR
Junior
Uživatelský avatar

Odeslat příspěvekod PaLaDiN 21. 10. 2006 13:39

yaroukh, AZOR >>
Ospravedlnujem sa. Nevsimol som si to.
PaLaDiN
Junior
Uživatelský avatar

Odeslat příspěvekod AZOR 21. 10. 2006 13:39

jo myslel jsem IDE, sorry :o)
Marta Jandova's Absolute Monarchy Forever Rulezz - one country, one world, no wars, full of love.
ALL SHOULD DIE UNDER HER FLAG, AND FOR HER EYES !
AZOR
Junior
Uživatelský avatar

Odeslat příspěvekod yaroukh 21. 10. 2006 13:47

A co kdyby ses podelil o tu chybovou hlasku? (Cetl jsi ji vubec? :o))
my favourite music: sounds4u.net/?fuID=3
yaroukh
Junior
Uživatelský avatar

Odeslat příspěvekod yaroukh 21. 10. 2006 13:53

Ale jeste jednou zduraznuju, ze mi prijde, ze delas -ehm- "osklivou vec"; Frame neni ze sve podstaty Listener, je to nejaky prvek GUI, proto by jsi z nej takoveho hybrida delat nemel. Krizis tridu prvku GUI s tridou, ktera zadnou grafickou reprezentaci nema, a obecne neni duvod, aby ji mela.
my favourite music: sounds4u.net/?fuID=3
yaroukh
Junior
Uživatelský avatar

Odeslat příspěvekod AZOR 21. 10. 2006 13:57

yaroukh : proč by to neměl dělat, takhle se to přesně dělá.
Marta Jandova's Absolute Monarchy Forever Rulezz - one country, one world, no wars, full of love.
ALL SHOULD DIE UNDER HER FLAG, AND FOR HER EYES !
AZOR
Junior
Uživatelský avatar

Další stránka

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků