Witam. Mam pewien problem z programem. Prosiłbym o pomoc, ponieważ nie wiem jak zrobić aby komponenty takie jak JCheckBox oraz JComboBox zapisywały się poprawnie. Zacząłem już coś z JCheckBox . Wyjaśnię na poniższym przykładzie:
a = new JCheckBox("Angielski");
b = new JCheckBox("Francuski");
c = new JCheckBox("Rosyjski");
d = new JCheckBox("Niemiecki");
a.setBounds(120,140,100,20);
b.setBounds(120,160,100,20);
c.setBounds(120,180,100,20);
d.setBounds(120,200,100,20);
add(a);
add(b);
add(c);
add(d);
Powyższy kod przedstawia zmienne a,b,c,d przypisane do JCheckBox.
public void actionPerformed(ActionEvent e)
{
Object source = e.getSource();
if (source==exit)
{
System.exit(0);
}
else if (source==save)
{
try
{
String nazis= naz.getText();
String imieis = im.getText();
String uwagis = pta.getText();
String angis = a.getText();
String betis = b.getText();
String cetis = c.getText();
String detis = d.getText();
FileWriter stream = new FileWriter("C:/file.txt");
BufferedWriter zap = new BufferedWriter(stream);
zap.write("Nazwisko: " +nazis);
zap.newLine();
zap.write("Imię: " +imieis);
zap.newLine();
zap.write("Wybrałeś język: " +angis);
zap.newLine();
zap.write("Wybrałeś język: " +betis);
zap.newLine();
zap.write("Wybrałeś język: " +cetis);
zap.newLine();
zap.write("Wybrałeś język: " +detis);
zap.newLine();
zap.write("Uwagi: " +uwagis);
zap.newLine();
zap.close();
} catch(Exception ex){}
}
Powyższy kod jest częścią kodu public void actionPerformed(ActionEvent e)w którym zawarta jest odczytywanie funkcji klawisza exit oraz save. Klawisz save niestety działa tak, że jeżeli zaznaczę np. tylko angielski to i tak zapisuje wszystko z JCheckBox. Prosiłbym o pomoc z tym JCheckBox i tak jak wyżej napisałem JComboBox, który jest zawarty w poniższym kodzie:
//ComboBox//
String[] r = new String[46];
String[] mi = new String[13];
String[] dz = new String[32];
rok= new JComboBox();
miesiac= new JComboBox();
dzien= new JComboBox();
dz[0] = "Dzień";
for(int x = 1; x<32;x++)
{
dz[x] = Integer.toString(x);
dzien = new JComboBox(dz);
}
mi[0] = "Miesiąc";
for(int x = 1; x<13;x++)
{
mi[x] = Integer.toString(x);
miesiac = new JComboBox(mi);
}
r[0] = "Rok";
for(int x = 1; x<46;x++)
{
r[x] = Integer.toString(x + 1969);
rok = new JComboBox(r);
}
dzien.setBounds(130,95,60,25);
miesiac.setBounds(190,95,70,25);
rok.setBounds(260,95,60,25);
add(dzien);
add(miesiac);
add(rok);