Moin!
Ich habe zwei GUIs. Nun möchte ich von der GUI LoL-Kasse über einen Button auf eine andere GUI NeuesSpiel wechseln und die alte beenden. Von der GUI 2 soll dann über einen Button wieder zurückgewechselt werden können. Ich habe es schon versucht und der Hinweg funktioniert auch, beim Rückweg gibt es Probleme. Findet jemand den Fehler und kann mir helfen?
Die Versuche finden in den Zeilen 46 und 176 statt.
Ich habe zwei GUIs. Nun möchte ich von der GUI LoL-Kasse über einen Button auf eine andere GUI NeuesSpiel wechseln und die alte beenden. Von der GUI 2 soll dann über einen Button wieder zurückgewechselt werden können. Ich habe es schon versucht und der Hinweg funktioniert auch, beim Rückweg gibt es Probleme. Findet jemand den Fehler und kann mir helfen?
Die Versuche finden in den Zeilen 46 und 176 statt.
Java:
import java.awt.BorderLayout;
public class LoLKasse extends JFrame {
private static JFrame frame;
private JPanel contentPane;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
Spieler cello = new Spieler();
cello.setName("Cello");
Spieler whisky = new Spieler();
whisky.setName("Whisky");
try {
frame = new LoLKasse(cello,whisky);
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public LoLKasse(final Spieler cello,final Spieler whisky) {
cello.aktualisieren();
whisky.aktualisieren();
NumberFormat formatGeld = DecimalFormat.getCurrencyInstance(Locale.FRANCE);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 250, 120);
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
JMenu mnAktionen = new JMenu("Aktionen");
menuBar.add(mnAktionen);
JMenuItem mntmNeuesSpiel = new JMenuItem("Neues Spiel");
mntmNeuesSpiel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
frame.dispose();
try {
frame = new NeuesSpiel(cello, whisky);
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
mnAktionen.add(mntmNeuesSpiel);
JMenuItem mntmEinzahlung = new JMenuItem("Einzahlung");
mnAktionen.add(mntmEinzahlung);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
JLabel lblStandDerKasse = new JLabel("Stand der Kasse:");
JLabel lblCelloMussNoch = new JLabel("Cello muss noch einzahlen:");
JLabel lblWhiskyMussNoch = new JLabel("Whisky muss noch einzahlen:");
JLabel lblBetragwhisky = new JLabel(formatGeld.format(whisky.getSchuldet()/100));
lblBetragwhisky.setForeground(new Color(128, 0, 0));
lblBetragwhisky.setFont(new Font("Tahoma", Font.BOLD, 11));
JLabel lblBetragcello = new JLabel(formatGeld.format(cello.getSchuldet()/100));
lblBetragcello.setForeground(new Color(128, 0, 0));
lblBetragcello.setFont(new Font("Tahoma", Font.BOLD, 11));
JLabel lblBetragkasse = new JLabel(formatGeld.format(whisky.getSumme()/100+cello.getSumme()/100));
lblBetragkasse.setForeground(new Color(0, 128, 0));
lblBetragkasse.setFont(new Font("Tahoma", Font.BOLD, 11));
GroupLayout gl_contentPane = new GroupLayout(contentPane);
gl_contentPane.setHorizontalGroup(
gl_contentPane.createParallelGroup(Alignment.LEADING)
.addGroup(gl_contentPane.createSequentialGroup()
.addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
.addComponent(lblWhiskyMussNoch)
.addComponent(lblCelloMussNoch)
.addComponent(lblStandDerKasse))
.addGap(18)
.addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
.addComponent(lblBetragkasse)
.addComponent(lblBetragcello)
.addComponent(lblBetragwhisky))
.addContainerGap(229, Short.MAX_VALUE))
);
gl_contentPane.setVerticalGroup(
gl_contentPane.createParallelGroup(Alignment.LEADING)
.addGroup(gl_contentPane.createSequentialGroup()
.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
.addComponent(lblStandDerKasse)
.addComponent(lblBetragkasse))
.addPreferredGap(ComponentPlacement.RELATED)
.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
.addComponent(lblCelloMussNoch)
.addComponent(lblBetragcello))
.addPreferredGap(ComponentPlacement.RELATED)
.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
.addComponent(lblWhiskyMussNoch)
.addComponent(lblBetragwhisky))
.addContainerGap(209, Short.MAX_VALUE))
);
contentPane.setLayout(gl_contentPane);
}
}
Java:
import java.awt.BorderLayout;
public class NeuesSpiel extends JFrame {
private static JFrame frame;
private JPanel contentPane;
private JTextField txtK;
private JTextField txtD;
private JTextField txtA;
private JTextField txtK_1;
private JTextField txtD_1;
private JTextField txtA_1;
private JTextField txtMinuten;
/**
* Create the frame.
*/
public NeuesSpiel(final Spieler cello,final Spieler whisky) {
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 255, 192);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
GridBagLayout gbl_contentPane = new GridBagLayout();
gbl_contentPane.columnWidths = new int[]{23, 47, 0};
gbl_contentPane.rowHeights = new int[]{14, 20, 20, 20, 20, 23, 0};
gbl_contentPane.columnWeights = new double[]{0.0, 0.0, Double.MIN_VALUE};
gbl_contentPane.rowWeights = new double[]{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE};
contentPane.setLayout(gbl_contentPane);
JLabel lblCello = new JLabel("Cello");
GridBagConstraints gbc_lblCello = new GridBagConstraints();
gbc_lblCello.anchor = GridBagConstraints.NORTH;
gbc_lblCello.insets = new Insets(0, 0, 5, 5);
gbc_lblCello.gridx = 0;
gbc_lblCello.gridy = 0;
contentPane.add(lblCello, gbc_lblCello);
JLabel lblWhisky = new JLabel("Whisky");
GridBagConstraints gbc_lblWhisky = new GridBagConstraints();
gbc_lblWhisky.anchor = GridBagConstraints.NORTH;
gbc_lblWhisky.insets = new Insets(0, 0, 5, 0);
gbc_lblWhisky.gridx = 1;
gbc_lblWhisky.gridy = 0;
contentPane.add(lblWhisky, gbc_lblWhisky);
txtK = new JTextField();
txtK.addFocusListener(new FocusAdapter() {
@Override
public void focusGained(FocusEvent arg0) {
txtK.selectAll();
}
});
txtK.setHorizontalAlignment(SwingConstants.CENTER);
txtK.setText("Kills");
txtK.setColumns(10);
GridBagConstraints gbc_txtK = new GridBagConstraints();
gbc_txtK.anchor = GridBagConstraints.NORTH;
gbc_txtK.insets = new Insets(0, 0, 5, 5);
gbc_txtK.gridx = 0;
gbc_txtK.gridy = 1;
contentPane.add(txtK, gbc_txtK);
txtK_1 = new JTextField();
txtK_1.addFocusListener(new FocusAdapter() {
@Override
public void focusGained(FocusEvent arg0) {
txtK_1.selectAll();
}
});
txtK_1.setHorizontalAlignment(SwingConstants.CENTER);
txtK_1.setText("Kills");
txtK_1.setColumns(10);
GridBagConstraints gbc_txtK_1 = new GridBagConstraints();
gbc_txtK_1.anchor = GridBagConstraints.NORTH;
gbc_txtK_1.insets = new Insets(0, 0, 5, 0);
gbc_txtK_1.gridx = 1;
gbc_txtK_1.gridy = 1;
contentPane.add(txtK_1, gbc_txtK_1);
txtD = new JTextField();
txtD.addFocusListener(new FocusAdapter() {
@Override
public void focusGained(FocusEvent arg0) {
txtD.selectAll();
}
});
txtD.setHorizontalAlignment(SwingConstants.CENTER);
txtD.setText("Deaths");
txtD.setColumns(10);
GridBagConstraints gbc_txtD = new GridBagConstraints();
gbc_txtD.anchor = GridBagConstraints.NORTH;
gbc_txtD.insets = new Insets(0, 0, 5, 5);
gbc_txtD.gridx = 0;
gbc_txtD.gridy = 2;
contentPane.add(txtD, gbc_txtD);
txtD_1 = new JTextField();
txtD_1.addFocusListener(new FocusAdapter() {
@Override
public void focusGained(FocusEvent arg0) {
txtD_1.selectAll();
}
});
txtD_1.setHorizontalAlignment(SwingConstants.CENTER);
txtD_1.setText("Deaths");
txtD_1.setColumns(10);
GridBagConstraints gbc_txtD_1 = new GridBagConstraints();
gbc_txtD_1.anchor = GridBagConstraints.NORTH;
gbc_txtD_1.insets = new Insets(0, 0, 5, 0);
gbc_txtD_1.gridx = 1;
gbc_txtD_1.gridy = 2;
contentPane.add(txtD_1, gbc_txtD_1);
txtA = new JTextField();
txtA.addFocusListener(new FocusAdapter() {
@Override
public void focusGained(FocusEvent arg0) {
txtA.selectAll();
}
});
txtA.setHorizontalAlignment(SwingConstants.CENTER);
txtA.setText("Assists");
txtA.setColumns(10);
GridBagConstraints gbc_txtA = new GridBagConstraints();
gbc_txtA.anchor = GridBagConstraints.NORTH;
gbc_txtA.insets = new Insets(0, 0, 5, 5);
gbc_txtA.gridx = 0;
gbc_txtA.gridy = 3;
contentPane.add(txtA, gbc_txtA);
txtA_1 = new JTextField();
txtA_1.addFocusListener(new FocusAdapter() {
@Override
public void focusGained(FocusEvent arg0) {
txtA_1.selectAll();
}
});
txtA_1.setHorizontalAlignment(SwingConstants.CENTER);
txtA_1.setText("Assists");
txtA_1.setColumns(10);
GridBagConstraints gbc_txtA_1 = new GridBagConstraints();
gbc_txtA_1.anchor = GridBagConstraints.NORTH;
gbc_txtA_1.insets = new Insets(0, 0, 5, 0);
gbc_txtA_1.gridx = 1;
gbc_txtA_1.gridy = 3;
contentPane.add(txtA_1, gbc_txtA_1);
txtMinuten = new JTextField();
txtMinuten.addFocusListener(new FocusAdapter() {
@Override
public void focusGained(FocusEvent arg0) {
txtMinuten.selectAll();
}
});
txtMinuten.setHorizontalAlignment(SwingConstants.CENTER);
txtMinuten.setText("Minuten");
txtMinuten.setColumns(10);
GridBagConstraints gbc_txtMinuten = new GridBagConstraints();
gbc_txtMinuten.fill = GridBagConstraints.HORIZONTAL;
gbc_txtMinuten.gridwidth = 2;
gbc_txtMinuten.anchor = GridBagConstraints.NORTH;
gbc_txtMinuten.insets = new Insets(0, 0, 5, 0);
gbc_txtMinuten.gridx = 0;
gbc_txtMinuten.gridy = 4;
contentPane.add(txtMinuten, gbc_txtMinuten);
JButton btnEintragen = new JButton("Eintragen");
btnEintragen.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
cello.gespielt(Double.parseDouble(txtK.getText()), Double.parseDouble(txtD.getText()), Double.parseDouble(txtA.getText()), Double.parseDouble(txtMinuten.getText()));
whisky.gespielt(Double.parseDouble(txtK_1.getText()), Double.parseDouble(txtD_1.getText()), Double.parseDouble(txtA_1.getText()), Double.parseDouble(txtMinuten.getText()));
frame.setVisible(false);
try {
frame = new LoLKasse(cello, whisky);
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
GridBagConstraints gbc_btnEintragen = new GridBagConstraints();
gbc_btnEintragen.fill = GridBagConstraints.HORIZONTAL;
gbc_btnEintragen.anchor = GridBagConstraints.NORTH;
gbc_btnEintragen.gridwidth = 2;
gbc_btnEintragen.gridx = 0;
gbc_btnEintragen.gridy = 5;
contentPane.add(btnEintragen, gbc_btnEintragen);
setFocusTraversalPolicy(new FocusTraversalOnArray(new Component[]{txtK, txtD, txtA, txtK_1, txtD_1, txtA_1, txtMinuten, btnEintragen}));
}
}
Zuletzt bearbeitet: