» »

[Java] CardLayout && windowListener

[Java] CardLayout && windowListener

alum ::

ja vem...ze spet imam tezavo...

imam torej ustvarjen Razporejevalnik, ki deduje od Frame-a...znotraj razporejevalnika je CardLayout...
Vsaka karta je locen razred, ki deduje od Panel-a...

sedaj bi rad dodal WindowListener-e za razlicne dogodke...z actionListener-i ni bilo tezav, medtem ko windowListenera nikakor nemorem dodat.

tega sem dodal v karto( razred, ki deduje od panel-a), vendar mi pri prevajanju javi napako.

IzpisStanja.java:50: cannot resolve symbol
symbol : method addWindowListener (anonymous java.awt.event.WindowAdapter)
location: class IzpisStanja
addWindowListener( new WindowAdapter (){
^

Pa se koda:


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

public class IzpisStanja extends Panel{

private Razporejevalnik razporejevalnik;

private BorderLayout blMain = new BorderLayout();
private GridBagLayout glTipkovnica = new GridBagLayout();
private FlowLayout flZaslon = new FlowLayout( SwingConstants.CENTER, 60,60 );
private Panel zaslon = new Panel();
private Panel tipkovnica = new Panel();

// gradniki na tipkovnici
private Button btnNazaj = new Button( "Nazaj" );

// gradniki na zaslonu
private Label lbIzpisStanja = new Label( "Stanje na racunu je: " );

// omejitve za gradnike na tipkovnici
private GridBagConstraints gumbNazajOmejitve = new GridBagConstraints(2,1,1,1,1,1,GridBagConstraints.CENTER,
GridBagConstraints.NONE, new Insets(1,1,1,1), 2,2);


public IzpisStanja(Razporejevalnik r, final Seznam banka) {
// referenca na glavni Layout
this.razporejevalnik = r;

// delo z zaslonom
zaslon.setLayout( flZaslon );
zaslon.add( lbIzpisStanja );

// delo z tipkovnico
tipkovnica.setLayout( glTipkovnica );
tipkovnica.add( btnNazaj, gumbNazajOmejitve );

// delo z glavnim layoutom
setLayout( blMain );
add ( "North", zaslon );
add( "South", tipkovnica );

// eventi
btnNazaj.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent e){
razporejevalnik.getRazporejevalnik().show( razporejevalnik, razporejevalnik.KARTA2 );
}
});

addWindowListener( new WindowAdapter (){
public void windowOpened(){
System.out.println( "da" );
}
});

}




}

alum ::

:\

Nerdor ::

Men Eclipse vrže tole vn, da s to vrstico ni uredu:
"private Razporejevalnik razporejevalnik;"
Kaj je ta Razporejevalnik !=? Kje je originalno ta razred definiranm, kje je implementiran !?
... for lifetime!

Zgodovina sprememb…

  • spremenil: Nerdor ()

alum ::

ok...verjetno je gornji primer prevec komplekesen, za resevanje tega problema...jas sem preprican, da je nekaj narobe z windowlistneri...zato navajam krajsi primer, ki izpise isto napako...

import java.awt.*;
import java.awt.event.*;

class asdf extends Frame{

public asdf(){

BorderLayout f = new BorderLayout( 5, 5 );

setLayout( f );
Button b1 = new Button("Bla1");
Button b2 = new Button("Bla2");
Button b3 = new Button("Bla3");
Button b4 = new Button("Bla4");
Button b5 = new Button("Bla5");

add("West", b1);
add("East", b2);
add("South", b3);
add("Center", b4);
add("North", b5);

setSize(300, 300);

/*addWindowListner( new WindowAdapter (){

public void windowClosing(WindowEvent we){
System.exit(0);
}

});*/

}
}

public class test{

public static void main(String [] args){

asdf ena = new asdf();

ena.show();

}
}

napaka:


F:\java_vaje\test>javac *.java
test.java:25: cannot resolve symbol
symbol : method addWindowListner (anonymous java.awt.event.WindowAdapter)
location: class asdf
addWindowListner( new WindowAdapter (){
^
1 error


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Puzzle 15 koda

Oddelek: Programiranje
51279 (1152) Serial
»

[JAVA] branje iz datoteke

Oddelek: Programiranje
242435 (2070) Bela01
»

[Java]Vprašanja

Oddelek: Programiranje
242128 (1596) Bela01
»

JAVA kako se premikati v Card layoutu

Oddelek: Programiranje
91257 (1165) matjazx
»

[Java] Zmešnjava

Oddelek: Programiranje
462099 (1604) ]Fusion[

Več podobnih tem