Die "Hauptklasse" ruft diese Klasse auf:
und diese ändert dann Colorwerte in der Klasse ZeichnenTet. Nur werden die nicht übernommen ???:L . Wenn ich dagegen in meiner Klasse von der ich ownDesign aufrufe die Werte für ZeichnenTet ändere funktioniert das einwandfrei. Woran liegt das?
Code:
class ownDesign extends JDialog implements ActionListener {
ZeichnenTet mal = new ZeichnenTet();
String[] str = { "<html>Alle Werte von
0 - 255<html>", "Rotwert", "Grünwert", "Blauwert", "Bestätigen" };
String[] str2 = { "<html>1. Hintergrund-
farbe<html>", "<html>2. Hintergrund-
rahmen<html>", "<html>3. Deadline
4. Punktestand<html>", "<html> 5. Steinfarbe
6. Steinrahmen<html>" };
JPanel pane = new JPanel();
JPanel[] vorschau = new JPanel[6];
JButton[] oks = new JButton[6];
JButton uebernehmen = new JButton("Ändern");
JTextField[] werte = new JTextField[18];
JLabel[] beschriftung = new JLabel[5];
JLabel[] legende = new JLabel[str2.length];
public ownDesign() {
setSize(500, 300);
pane.setLayout(new GridLayout(8, 4, 5, 5));
uebernehmen.addActionListener(this);
for (int a = 0; a < str.length; a++) {
beschriftung[a] = new JLabel(str[a]);
pane.add(beschriftung[a]);
}
for (int a = 0; a < 6; a++) {
vorschau[a] = new JPanel();
pane.add(vorschau[a]);
vorschau[a].setBackground(Color.black);
for (int b = a * 3; b < a * 3 + 3; b++) {
werte[b] = new JTextField(0 + "", 3);
pane.add(werte[b]);
}
oks[a] = new JButton("OK");
oks[a].addActionListener(this);
pane.add(oks[a]);
}
for (int a = 0; a < str2.length; a++) {
legende[a] = new JLabel(str2[a]);
pane.add(legende[a]);
}
pane.add(uebernehmen);
setContentPane(pane);
}
public void actionPerformed(ActionEvent evt) {
Object source = evt.getSource();
if (source == uebernehmen) {
try {
mal.back = new Color(Integer.parseInt(werte[0].getText()), Integer.parseInt(werte[1].getText()), Integer.parseInt(werte[2].getText()));
mal.rahmenBack = new Color(Integer.parseInt(werte[3].getText()), Integer.parseInt(werte[4].getText()), Integer.parseInt(werte[5].getText()));
mal.deadline = new Color(Integer.parseInt(werte[6].getText()), Integer.parseInt(werte[7].getText()), Integer.parseInt(werte[8].getText()));
mal.punktestand = new Color(Integer.parseInt(werte[9].getText()), Integer.parseInt(werte[10].getText()), Integer.parseInt(werte[11].getText()));
mal.stein = new Color(Integer.parseInt(werte[12].getText()), Integer.parseInt(werte[13].getText()), Integer.parseInt(werte[14].getText()));
mal.rahmenStein = new Color(Integer.parseInt(werte[15].getText()), Integer.parseInt(werte[16].getText()), Integer.parseInt(werte[17].getText()));
}
catch (NumberFormatException e) {
JOptionPane.showMessageDialog(null,
"Bitte Werte zwischen 0 und 255 eingeben",
"Fehler!",
JOptionPane.ERROR_MESSAGE);
}
}
else {
for (int a = 0; a < 6; a++) {
if (source == oks[a]) {
try {
vorschau[a].setBackground(new Color(Integer.parseInt(werte[a * 3].getText()), Integer.parseInt(werte[a * 3 + 1].getText()), Integer.parseInt(werte[a * 3 + 2].getText())));
}
catch (NumberFormatException e) {
JOptionPane.showMessageDialog(null,
"Bitte Werte zwischen 0 und 255 eingeben",
"Fehler!",
JOptionPane.ERROR_MESSAGE);
}
}
}
}
}
}
und diese ändert dann Colorwerte in der Klasse ZeichnenTet. Nur werden die nicht übernommen ???:L . Wenn ich dagegen in meiner Klasse von der ich ownDesign aufrufe die Werte für ZeichnenTet ändere funktioniert das einwandfrei. Woran liegt das?