Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Java: Virheilmoituksia

ItEliasPro [04.05.2011 09:33:01]

#

Yritän tehdä yhtä harjoitus ohjelmaa miten nuo errorit saisi pois
Errorit:

javac "kaksi.java" (kansiossa /home/elias/Ohjelmointi/Java/testi)
kaksi.java:4: warning: The serializable class kaksi does not declare a static final serialVersionUID field of type long
	public class kaksi extends JFrame {
	             ^^^^^
kaksi.java:6: warning: The field kaksi.plFont is never read locally
	private Font plFont;
	             ^^^^^^
kaksi.java:7: warning: The field kaksi.itFont is never read locally
	private Font itFont;
	             ^^^^^^
kaksi.java:8: warning: The field kaksi.boFont is never read locally
	private Font boFont;
	             ^^^^^^
kaksi.java:9: warning: The field kaksi.ibFont is never read locally
	private Font ibFont;
	             ^^^^^^
kaksi.java:36: error: plfont cannot be resolved
	plfont = new Font("Serif", Font.PLAIN, 20);
	^^^^^^
kaksi.java:37: error: itfont cannot be resolved
	itfont = new Font("Serif", Font.ITALIC, 20);
	^^^^^^
kaksi.java:38: error: bofont cannot be resolved
	bofont = new Font("Serif", Font.BOLD, 20);
	^^^^^^
kaksi.java:39: error: ibfont cannot be resolved
	ibfont = new Font("Serif", Font.ITALIC + Font.BOLD, 20);
	^^^^^^
kaksi.java:40: error: plfont cannot be resolved
Käännös epäonnistui.
	tfield.setFont(plfont);
	               ^^^^^^
10 problems (5 errors, 5 warnings)

Koodi:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class kaksi extends JFrame {
	private JTextField tfield;
	private Font plFont;
	private Font itFont;
	private Font boFont;
	private Font ibFont;
	private JRadioButton pbutton;
	private JRadioButton ibutton;
	private JRadioButton bbutton;
	private JRadioButton ibbutton;
	private ButtonGroup group;

	public kaksi() {
		super("Radio Novaaa :D");
		setLayout(new FlowLayout());

		tfield = new JTextField(20);
		add(tfield);
		pbutton = new JRadioButton("Plain", true);
		ibutton = new JRadioButton("Italic", false);
		bbutton = new JRadioButton("Bold", false);
		ibbutton = new JRadioButton("Italic and Bold", false);
		add(pbutton);
		add(ibutton);
		add(bbutton);
		add(ibbutton);
		group = new ButtonGroup();
		group.add(pbutton);
		group.add(ibutton);
		group.add(bbutton);
		group.add(ibbutton);

		plfont = new Font("Serif", Font.PLAIN, 20);
		itfont = new Font("Serif", Font.ITALIC, 20);
		bofont = new Font("Serif", Font.BOLD, 20);
		ibfont = new Font("Serif", Font.ITALIC + Font.BOLD, 20);
		tfield.setFont(plfont);
	}
}

tsuriga [04.05.2011 09:58:14]

#

Ensimmäinen virhe: tee luokkaan tuollainen privaattijäsen, private static final serialVersionUID = 42L;. Numeron voit itse valita, generoida käsin serialver-työkalulla (tulee Javan mukana), tai jättää generoinnin käyttämällesi IDElle. Muut virheet: tarkista isot ja pienet kirjaimet.

ItEliasPro [04.05.2011 20:42:49]

#

Joo nyt huomasin kirjoitus virheitä sattuu mutta mitä virkaa oikeastaan tuollaserialVersionUID:llä on

tsuriga [05.05.2011 03:33:21]

#

Jos englanti taittuu niin asiasta on lisätietoa StackOverflowssa - Why should I bother about serialVersionUID. Jos ei, niin lyhyesti tuo numero kertoo luokan versiotunnuksen, jota käytetään deserialisoinnin yhteydessä tarkistamaan, deserialisoitiinko oikea luokka.

Vastaus

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

Tietoa sivustosta