/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Den her kompiler besked fatter jeg simpelt~
Fra : Thomas Schulz


Dato : 10-06-01 19:25

AbstractAction aActionNew = new AbstractAction("New", new
ImageIcon("images/New16.gif")) {
public void actionPerformed(ActionEvent e) {
newEditor();
}
};
aActionNew.setEnabled(false); // her er fejl: <identifier> expected

Hvorfor? I hjælpen eksisterer metoden.


Derudover kan jeg heller ikke regne ud hvordan jeg gør noget så simpelt som
at sætte
accelerator keys og mnemonics ved AbstractActions. Det er let nok ved menuer
og buttons, men det er helt anderledes ved AbstractActions (og der er ingen
eksempler). AbstractActions har kun string fields og man kan ikke ligesom
ved menuerne bruge KeyStroke, KeyEvent tingene da de relevante
metoder/constanter der returnerer "ints", og fieldsene er stenge. Til sidste
har jeg spekuleret lidt vedr. mon det er meningen man skal bruge
putValue/getValue, men hjælpen er ikke entydig vedr. dette.

Anyway, den fejl ovenover hindrer mig i overhovedet at prøve det (den kommer
ligemeget hvilken metode jeg prøver at kalde efter aActionNew).



Er der nogle der ved noget omkring dette?
Regards
Thomas Schulz



 
 
IB (10-06-2001)
Kommentar
Fra : IB


Dato : 10-06-01 19:32

"Thomas Schulz" <dk_sz@hotmail.com> wrote in message
news:9g0dva$qa0$1@news.inet.tele.dk...
> AbstractAction aActionNew = new AbstractAction("New", new
> ImageIcon("images/New16.gif")) {
> public void actionPerformed(ActionEvent e) {
> newEditor();
> }
> };
> aActionNew.setEnabled(false); // her er fejl: <identifier> expected
>
> Hvorfor? I hjælpen eksisterer metoden.

Da det jo som navnet siger er en abstrakt klasse, så kan du ikke oprette en
instans af den!!
Derfor!!

Du er nødt til at bruge en af de klasser der nedaver fra AbstractAction,
eller lave din egen??

IB



Thomas Schulz (10-06-2001)
Kommentar
Fra : Thomas Schulz


Dato : 10-06-01 21:32

> Da det jo som navnet siger er en abstrakt klasse, så kan du ikke oprette
en
> instans af den!!
Hjælpen siger at den eneste abstrakte metode er "actionPerformed"
og jeg laver jo en anonymous inner class ved (som den ikke protesterer ved):
AbstractAction aActionNew = new AbstractAction("New", new
ImageIcon("images/New16.gif")) {
public void actionPerformed(ActionEvent e) {
newEditor();
}
};

> Derfor!!
Det ville jeg kunne forstå hvis ikke det var fordi den kompilerede noget
kode skrevet nøjagtigt på samme måde et andet sted i sourcen..
e.g.
"
AbstractAction aActionCut = new AbstractAction("Cut", new
ImageIcon("images/Cut16.gif")) {
public void actionPerformed(ActionEvent e) {
FrameEditor.this.getCurrentEditor().cut();
}
};
"
... og så længere nede ..
"
aActionCut.setEnabled(true);
"


Hvis du har ret, hvorfor virker det sidste eksempel så (både compile-time og
run-time)?

Regards
Thomas Schulz



IB (10-06-2001)
Kommentar
Fra : IB


Dato : 10-06-01 22:41


"Thomas Schulz" <dk_sz@hotmail.com> wrote in message
news:9g0lds$l50$1@news.inet.tele.dk...
> og jeg laver jo en anonymous inner class ved (som den ikke protesterer
ved):

okay det havde jeg lige overset, sorry!!
Den anonyme klasse går jo omtrendt det samme som en nedarving...

Så må jeg nok indrømme at det lyder lidt mystisk....



Thomas Berg von Lind~ (10-06-2001)
Kommentar
Fra : Thomas Berg von Lind~


Dato : 10-06-01 21:43


"Thomas Schulz" <dk_sz@hotmail.com> skrev i en meddelelse
news:9g0dva$qa0$1@news.inet.tele.dk...
> AbstractAction aActionNew = new AbstractAction("New", new
> ImageIcon("images/New16.gif")) {
> public void actionPerformed(ActionEvent e) {
> newEditor();
> }
> };
> aActionNew.setEnabled(false); // her er fejl: <identifier> expected
>
> Hvorfor? I hjælpen eksisterer metoden.

Nu kan jeg ikke se resten af din klasse, men hvor definerer du funktionen
newEditor()? Det kan være at detner den funktion compileren ikke kan
finde.... Men smid lige hele fejlmeddelelsen med næste gang, så kan det være
lidt nemmere at hjælpe dig.

Mvh

Thomas Berg von Linde





Thomas Schulz (10-06-2001)
Kommentar
Fra : Thomas Schulz


Dato : 10-06-01 22:22

> Nu kan jeg ikke se resten af din klasse, men hvor definerer du funktionen
> newEditor()? Det kan være at detner den funktion compileren ikke kan

Jeg får _kun_ fejlen hvis jeg inkluderer linjen
"aActionNew.setEnabled(false); "
hvis jeg kommenterer den ud er der ingen problemer..

AbstractAction aActionNew = new AbstractAction("New", new
ImageIcon("images/New16.gif")) {
public void actionPerformed(ActionEvent e) {
newEditor();
}
};


> finde.... Men smid lige hele fejlmeddelelsen med næste gang, så kan det
være
> lidt nemmere at hjælpe dig.

OK, her er de 2 fejl jeg får, som begge går væk hvis jeg kommenterer linjen
ud.


D:\programmering\current
projects\Mine\JCreator\MultiEditor\FrameEditor.java:67: <identifier>
expected
aActionNew.setEnabled(true);
^
D:\programmering\current
projects\Mine\JCreator\MultiEditor\FrameEditor.java:67: cannot resolve
symbol
symbol : class setEnabled
location: package aActionNew
aActionNew.setEnabled(true);





Regards
Thomas Schulz



Thomas Schulz (10-06-2001)
Kommentar
Fra : Thomas Schulz


Dato : 10-06-01 23:57

> Hvorfor? I hjælpen eksisterer metoden.

*uck hvor er du lam Thomas...
Du bruger flere timer på at prøve at tænke i stedet for at tænke. Sigh...

Du definerer jo din AbstractActions uden for nogen metode oppe i toppen af
klasse definition....
Du kan ikke forvente kompileren totalt guider dig igennem hver eneste lille
ting...



Thomas




Thomas Mouritsen (11-06-2001)
Kommentar
Fra : Thomas Mouritsen


Dato : 11-06-01 21:31

Smid lige hele din klasse op samt fejlmeddelsen - der vil gøre det lidt
nemmer at hjælpe.

Thomas Mouritsen

"Thomas Schulz" <dk_sz@hotmail.com> skrev i en meddelelse
news:9g0dva$qa0$1@news.inet.tele.dk...
> AbstractAction aActionNew = new AbstractAction("New", new
> ImageIcon("images/New16.gif")) {
> public void actionPerformed(ActionEvent e) {
> newEditor();
> }
> };
> aActionNew.setEnabled(false); // her er fejl: <identifier> expected
>
> Hvorfor? I hjælpen eksisterer metoden.
>
>
> Derudover kan jeg heller ikke regne ud hvordan jeg gør noget så simpelt
som
> at sætte
> accelerator keys og mnemonics ved AbstractActions. Det er let nok ved
menuer
> og buttons, men det er helt anderledes ved AbstractActions (og der er
ingen
> eksempler). AbstractActions har kun string fields og man kan ikke ligesom
> ved menuerne bruge KeyStroke, KeyEvent tingene da de relevante
> metoder/constanter der returnerer "ints", og fieldsene er stenge. Til
sidste
> har jeg spekuleret lidt vedr. mon det er meningen man skal bruge
> putValue/getValue, men hjælpen er ikke entydig vedr. dette.
>
> Anyway, den fejl ovenover hindrer mig i overhovedet at prøve det (den
kommer
> ligemeget hvilken metode jeg prøver at kalde efter aActionNew).
>
>
>
> Er der nogle der ved noget omkring dette?
> Regards
> Thomas Schulz
>
>



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste