04. juni 2003 - 20:38Der er
17 kommentarer og 1 løsning
Tilføj button i subklasse.
Jeg har en superklasse med en applet hvori jeg har defineret en button som skifter teksten i et tekstfelt når den aktiveres.
Herefter har jeg lavet en subklasse af superklassen (extends SupKlasse), hvori jeg gerne vil definere en ny knap som f.eks. kan ændre på baggrundsfarverne i appletten?
public class SubKlasse extends SupKlasse implements ActionListener{ public void init() { super.init(); button = new Button(" Noget andet "); button.addActionListener(this); add(button); } }
Nedarvningen virker nu! Problemet er nu blot: Jeg skriver
public void actionPerformed(ActionEvent e){ super.actionPerformed(e); setBackground(Color.red); } }
Dette resulterer i at begge knapper gør baggrunden rød. Har du et forslag til hvordan det skal gøres hvis nu jeg kun ønsker at den nye knap skal farve baggrunden?
Takker - det ser fornuftigt ud nu. Lige et sidste spørgsmål: Jeg undrer mig lidt over sammenhængen mellem den knap jeg lavede i superklassen og den knap "jeg" nu har lavet i subklassen. Min nye knap arver alle egenskaber den anden har. Såfremt jeg ville definere en helt ny knap, som ikke også ændrer teksten i feltet når den aktiveres, skulle jeg så tilbage i superklassen og tilføje en knap mere, som jeg tager i brug i subklassen eller hvordan?
Det afhænger af hvordan du erklæret klasserne og de buttons.
Du kan sagtens adskille dem.
public class SubKlasse extends SupKlasse implements ActionListener{ private Button button; public void init() { super.init(); button = new Button(" Noget andet "); button.addActionListener(this); add(button); } }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.