|
| 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
>
>
| |
|
|