Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Java swing ja ongelmat

blackmoor [16.03.2005 14:38:18]

#

Moi!

Pitäsi tehdä java swing pohjainen laskin ohjelma. Heti potkii päähän tässä:

// Luodaan radiobutton ryhmä
	String plusString = "+";
	String miinusString = "-";
	String kertoString = "*";
	String jakoString = "/";

	JRadioButton plus = new          JRadioButton(plusString,true);
	JRadioButton miinus = new JRadioButton(miinusString);
	JRadioButton kerto = new JRadioButton(kertoString);
	JRadioButton jako = new JRadioButton(jakoString);

	ButtonGroup ryhma = new ButtonGroup();
	ryhma.add(JRadioButton plus);
      // olen kokeillut myös: ryhma.add(plus);

valittaa että identifier expected, väkänen tuossa add ja eka sulun kohalla...

Mikä avuksi?

FooBat [16.03.2005 14:48:54]

#

ryhma.add(JRadioButton plus);
-->
ryhma.add(plus);

Kyllä sen pitäisi tuolla pelkällä plussalla toimia. JRadioButton puolestaan on tuossa kohtaa väärin, koska et voi tai halua esitellä muuttujaa uudestaan tuossa kohtaa.

Jos vaikka kokeilisit tallentaa tiedoston muutoksen jälkeen ja yrittää kääntää uudestaan :) Jos ei toimi, niin lähetä virheilmoitus vähän tarkemmin.

blackmoor [16.03.2005 14:52:54]

#

Kokeilin. näin kävi:

Laskin3.java [35:1] <identifier> expected
ryhma.add(plus);
^
1 error
Errors compiling Laskin3.

FooBat [16.03.2005 15:33:06]

#

Tuosta esittämästäsi koodista ei kyllä enää löydy virheitä. Onko koodisi täsmälleen samanlainen kuin tuossa esimerkissä vai puutuuko sulla jostain jotain sulkuja tai puolipisteitä?

Tuleeko tuota ennen muita virheitä, esim. semmoista jossa sanotaan, että JRadioButton:ia ei tunnisteta?

Toi koodinpätkä ainakin pelkästään tuollaisena kääntyy ihan hyvin mun javac:illa.

blackmoor [16.03.2005 15:39:18]

#

// Luodaan radiobutton ryhmä
	String plusString = "+";
	String miinusString = "-";
	String kertoString = "*";
	String jakoString = "/";

	JRadioButton plus = new       JRadioButton(plusString,true);
	JRadioButton miinus = new JRadioButton(miinusString);
	JRadioButton kerto = new JRadioButton(kertoString);
	JRadioButton jako = new JRadioButton(jakoString);

        ButtonGroup ryhma = new ButtonGroup();
	ryhma.add(plus);
        ryhma.add(miinus);
        ryhma.add(kerto);
        ryhma.add(jako);

tulee neljä virhettä:

Laskin3.java [35:1] <identifier> expected
        ryhma.add(plus);
                 ^
Laskin3.java [36:1] <identifier> expected
        ryhma.add(miinus);
                 ^
Laskin3.java [37:1] <identifier> expected
        ryhma.add(kerto);
                 ^
Laskin3.java [38:1] <identifier> expected
        ryhma.add(jako);
                 ^
4 errors
Errors compiling Laskin3.

Kun nuo ryhma.add ottaa pois menee läpi. mutta kun tarvisin tuota buttongroupia, jotta vois tarkistaa, mikä on painettu.

Tiedän, kuulostaa ihmeelliseltä...mutta ei toimi

FooBat [16.03.2005 15:49:01]

#

Hyvin kummallista. Kokeiles poistaa ne kaikki ryhma.add() kohdatat ja kirjoittaa ne käsin uudestaan. Joskus ainakin Linuksissa onnistuin kirjoittelemaan koodin väliin näkymättömiä erikoismerkkejä joista kääntäjä ei pitänyt :) Tosin tuo virheilmoitus ei kuullosta aivan tuolta tapaukselta. Koodissa ei ainakaan tuossa kohtaa ole mitään vikaa ja pystyn kääntämään sen tuollaisenaan.

Kai sulla on siellä ohjelman alussa oikeat importit eli

import javax.swing.*;

tai vastaava?

blackmoor [16.03.2005 16:01:53]

#

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.util.StringTokenizer;
import javax.swing.*;

Tällaset on.

Kirjotin, mulla tuo netbeans vielä ite ehottaa kaikki tuohon perään, ja silti ei mene läpi. Johtusko se siitä, et mulla on vain viikon vanhat nuo kääntäjät, eli onko ne poistunu, tai jotain?

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta