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); } }
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.
Joo nyt huomasin kirjoitus virheitä sattuu mutta mitä virkaa oikeastaan tuollaserialVersionUID:llä on
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.
Aihe on jo aika vanha, joten et voi enää vastata siihen.