/ 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
Problem med dotnotation
Fra : Fihnn Holger


Dato : 17-12-00 11:23

Jeg fået et problem med at kalde en instans af en klasse.

Her er et eks. der gerne skulle illustrere problemet:

public class UserInterface extends JFrame
{
private Network network //klassen Network og en instans af denne
.....

public UserInterface(Network network)
{
.....
this.network = network
.....

// Setting the option funktions
setUpdateInterval.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent action)
{
updateInterval = JOptionPane.showInputDialog(null, "How often should
simulationvalues be updated?", "Update interval in milliseconds:",
JOptionPane.QUESTION_MESSAGE);

updateIntervalValue = Integer.parseInt(updateInterval, 10);

network.setInterval(updateIntervalValue);
} //ActionPerformed
}); //ActionListener
}

Når jeg compiler kommer fejlen:
UserInterface.java:278: local variable network is accessed from within inner
class; needs to be declared final network.setInterval(updateIntervalValue);


På forhånd tak.

Fihnn





 
 
Sir Galahad (20-12-2000)
Kommentar
Fra : Sir Galahad


Dato : 20-12-00 22:31

Jeg er ikke så meget inde i applets, men forveksler du ikke instans
med metoder ??
Hver gang du kalder en instans, forstår jeg det på den måde at du
kalder en konstruktør X x = new X();
Correct me if I'm wrong.
Jeg ville hellere end gerne hjælpe hvis jeg ku'


"Fihnn Holger" <fihnn@hotmail.com> skrev i en meddelelse
news:4u0%5.3330$9t1.12674@twister.sunsite.dk...
> Jeg fået et problem med at kalde en instans af en klasse.
>
> Her er et eks. der gerne skulle illustrere problemet:
>
> public class UserInterface extends JFrame
> {
> private Network network //klassen Network og en instans af denne
> ....
>
> public UserInterface(Network network)
> {
> ....
> this.network = network
> ....
>
> // Setting the option funktions
> setUpdateInterval.addActionListener(new ActionListener()
> {
> public void actionPerformed(ActionEvent action)
> {
> updateInterval = JOptionPane.showInputDialog(null, "How often should
> simulationvalues be updated?", "Update interval in milliseconds:",
> JOptionPane.QUESTION_MESSAGE);
>
> updateIntervalValue = Integer.parseInt(updateInterval, 10);
>
> network.setInterval(updateIntervalValue);
> } //ActionPerformed
> }); //ActionListener
> }
>
> Når jeg compiler kommer fejlen:
> UserInterface.java:278: local variable network is accessed from within
inner
> class; needs to be declared final
network.setInterval(updateIntervalValue);
>
>
> På forhånd tak.
>
> Fihnn
>
>
>
>



Fihnn Holger (21-12-2000)
Kommentar
Fra : Fihnn Holger


Dato : 21-12-00 03:28


> Jeg er ikke så meget inde i applets, men forveksler du ikke instans
> med metoder ??
> Hver gang du kalder en instans, forstår jeg det på den måde at du
> kalder en konstruktør X x = new X();
> Correct me if I'm wrong.
> Jeg ville hellere end gerne hjælpe hvis jeg ku'

Jeg har fundet en løsning på problemet, og burde have skrevet, men jeg haft
lidt travlt (programmet er en del af en projekt der skal afleveres imorgen,
torsdag).

Problemet var at når man laver en actionlistener lave man i teorien en ny
klasse. Det betyder at den dotnotation man laver i actionlisteneren, peger
på et andet objekt end den ville gøre udenfor actionlisteneren.

Derfor bliver der fejl.

Du skal have tak for interessen.

Mvh.
Fihnn



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste