Hallo,
ich habe ein Problem mit meinem Programm. Ich habe auch schon gegooglet aber bin mit den Erklärungen trotzdem leider nicht weiter gekommen.
Ich habe ein Fenster, welches bei Programmstart geöffnet wird und der Benutzer eine Eingabe machen kann. Diese Eingabe soll jetzt in eine int Variable gespeichert werden und diese möchte ich dann im nächsten Fenster wieder verwenden und zwar mit dem Wert, den der Benutzer eingegeben hat.
Quelltext 1.Fenster:
Quelltext 2.Fenster:
Es handelt sich um die Variablen AnzMessdaten und AnzMessungen, die ich gerne übergeben würde.
Wäre echt prima, wenn mir da jemand weiterhelfen könnte
Danke
ich habe ein Problem mit meinem Programm. Ich habe auch schon gegooglet aber bin mit den Erklärungen trotzdem leider nicht weiter gekommen.
Ich habe ein Fenster, welches bei Programmstart geöffnet wird und der Benutzer eine Eingabe machen kann. Diese Eingabe soll jetzt in eine int Variable gespeichert werden und diese möchte ich dann im nächsten Fenster wieder verwenden und zwar mit dem Wert, den der Benutzer eingegeben hat.
Quelltext 1.Fenster:
Code:
import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.BoxLayout;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.font.*;
import java.awt.*;
import java.awt.event.*;
public class Fenster1 extends JFrame
{
private static final long serialVersionUID = 1L;
private JPanel pWillkommen;
private JPanel pMessdaten;
private JPanel pMessungen;
private JPanel pButton;
private JLabel Willkommen;
private JLabel Messdaten;
private JLabel Messungen;
private JTextField nMessdaten;
private JTextField nMessungen;
private JButton Weiter;
int AnzMessdaten = 0;
int AnzMessungen = 0;
public Fenster1 ()
{
super("Fenster 1");
setSize(500,300);
setVisible(true);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
getContentPane().setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));
pWillkommen = new JPanel();
pMessdaten = new JPanel();
pMessungen = new JPanel();
pButton = new JPanel();
Willkommen = new JLabel("Willkommen bei LabTable");
Messdaten = new JLabel("Wie viele Messdaten (z.B. Temperatur, Zeit...) möchten Sie aufnehmen?");
Messungen = new JLabel("Wie viele Messungen möchten Sie durchführen?");
Weiter = new JButton("Weiter");
nMessdaten = new JTextField(2);
nMessdaten.setHorizontalAlignment(nMessdaten.RIGHT);
nMessungen = new JTextField(2);
nMessungen.setHorizontalAlignment(nMessungen.RIGHT);
Font Ueberschrift = (Willkommen.getFont().deriveFont(Font.BOLD, 20));
Willkommen.setFont(Ueberschrift);
pWillkommen.add(Willkommen);
pMessdaten.add(Messdaten);
pMessdaten.add(nMessdaten);
pMessungen.add(Messungen);
pMessungen.add(nMessungen);
pButton.add(Weiter);
add(pWillkommen);
add(pMessdaten);
add(pMessungen);
add(pButton);
Weiter.addActionListener(new WeiterButton ());
}
public class WeiterButton implements ActionListener {
public void actionPerformed(ActionEvent e) {
String varMessdaten = nMessdaten.getText();
String varMessungen = nMessungen.getText();
try {
Integer.parseInt(varMessdaten);
Integer.parseInt(varMessungen);
}
catch(Exception ex) {
JOptionPane.showMessageDialog(null,"Bitte geben Sie jeweils eine ganze Zahl ein, die größer als 0 ist!");
}
AnzMessdaten = Integer.parseInt(varMessdaten);
AnzMessungen = Integer.parseInt(varMessungen);
if(AnzMessdaten<1 | AnzMessungen<1 ) {
JOptionPane.showMessageDialog(null,"Bitte geben Sie jeweils eine ganze Zahl ein, die größer als 0 ist!");
}
else {
System.out.println("klappt!");
close();
Fenster2 window2 = new Fenster2 ();
window2.setVisible(true);
}
}
}
public void close() {
WindowEvent winClosingEvent = new WindowEvent(this,WindowEvent.WINDOW_CLOSING);
Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(winClosingEvent);
}
Quelltext 2.Fenster:
Code:
import java.awt.Component;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.WindowEvent;
import java.util.ArrayList;
import java.util.List;
import javax.swing.BoxLayout;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.JButton;
public class Fenster2 extends JFrame
{
private JLabel Frage1;
private JButton Weiter2;
private JLabel lSumme;
private JLabel lMittelwert;
private JLabel lStandardabweichung;
int a = 0;
int b = 0;
int c = 0;
int Reihen = 0;
public Fenster2 ()
{
super("Fenster 2");
int x = 5; //Übergangsvariable
setSize(500,25*x+175);
setVisible(true);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setLayout(null);
List<JComboBox> comboBoxList = new ArrayList<JComboBox>();
List<JCheckBox> checkBoxListSum = new ArrayList<JCheckBox>();
List<JCheckBox> checkBoxListMit = new ArrayList<JCheckBox>();
List<JCheckBox> checkBoxListSta = new ArrayList<JCheckBox>();
String[] Messdaten = {"", "Druck", "Masse", "Spannung", "Stromstärke", "Temperatur", "Volumen", "Zeit"};
JPanel spalte0 = new JPanel();
spalte0.setLayout(null);
spalte0.setBounds(50, 50, 200, 300);
JPanel spalte1 = new JPanel();
spalte1.setLayout(null);
spalte1.setBounds(300, 50, 50, 300);
JPanel spalte2 = new JPanel();
spalte2.setLayout(null);
spalte2.setBounds(350, 50, 50, 300);
JPanel spalte3 = new JPanel();
spalte3.setLayout(null);
spalte3.setBounds(400, 50, 50, 300);
Frage1 = new JLabel ("Welche Daten möchten Sie messen?");
Frage1.setBounds(20, 10, 460, 25);
lSumme = new JLabel ("\u2211");
lSumme.setBounds(5, 0, 25, 25);
lSumme.setToolTipText("Summe");
lMittelwert = new JLabel ("\u2205");
lMittelwert.setBounds(5, 0, 25, 25);
lMittelwert.setToolTipText("Mittelwert");
lStandardabweichung = new JLabel ("\u03C3");
lStandardabweichung.setBounds(5, 0, 25, 25);
lStandardabweichung.setToolTipText("Standardabweichung");
Weiter2 = new JButton ("Weiter");
Weiter2.setBounds(20, 25*(x-1)+125, 150, 25);
spalte1.add(lSumme);
spalte2.add(lMittelwert);
spalte3.add(lStandardabweichung);
for(int i = 0; i < x; i++)
{
JComboBox cbMessdaten = new JComboBox(Messdaten);
cbMessdaten.setBounds(0, 25*i+25, 150, 25);
JCheckBox sumBox = new JCheckBox();
sumBox.setBounds(0, 25*i+25, 25, 25);
JCheckBox mitBox = new JCheckBox();
mitBox.setBounds(0, 25*i+25, 25, 25);
JCheckBox staBox = new JCheckBox();
staBox.setBounds(0, 25*i+25, 25, 25);
comboBoxList.add(cbMessdaten);
checkBoxListSum.add(sumBox);
checkBoxListMit.add(mitBox);
checkBoxListSta.add(staBox);
spalte0.add(cbMessdaten);
spalte1.add(sumBox);
spalte2.add(mitBox);
spalte3.add(staBox);
}
add(Frage1);
add(spalte0);
add(spalte1);
add(spalte2);
add(spalte3);
add(Weiter2);
Weiter2.addActionListener(new WeiterButton0 (comboBoxList));
Weiter2.addActionListener(new WeiterButton (checkBoxListSum));
Weiter2.addActionListener(new WeiterButton2 (checkBoxListMit));
Weiter2.addActionListener(new WeiterButton3 (checkBoxListSta));
}
private class WeiterButton0 implements ActionListener
{
List<JComboBox> comboBoxList;
public WeiterButton0(List<JComboBox> list0)
{
comboBoxList = list0;
}
public void actionPerformed(ActionEvent event)
{
for(int i = 0; i < comboBoxList.size(); i++)
{
JComboBox combo = comboBoxList.get(i);
String item = (String)combo.getSelectedItem();
}
}
}
private class WeiterButton implements ActionListener
{
List<JCheckBox> checkBoxListSum;
public WeiterButton(List<JCheckBox> list)
{
checkBoxListSum = list;
}
public void actionPerformed(ActionEvent e)
{
for(int i = 0; i < checkBoxListSum.size(); i++)
{
if (checkBoxListSum.get(i).isSelected())
{
System.out.println("Box "+i+ " ist ausgewählt");
a = 1;
}
else
{
}
}
}
}
public class WeiterButton2 implements ActionListener
{
List<JCheckBox> checkBoxListMit;
public WeiterButton2(List<JCheckBox> list2)
{
checkBoxListMit = list2;
}
public void actionPerformed(ActionEvent e)
{
for(int i = 0; i < checkBoxListMit.size(); i++)
{
if (checkBoxListMit.get(i).isSelected())
{
System.out.println("Box "+i+ " ist ausgewählt");
b = 1;
}
else
{
}
}
}
}
private class WeiterButton3 implements ActionListener
{
List<JCheckBox> checkBoxListSta;
public WeiterButton3(List<JCheckBox> list3)
{
checkBoxListSta = list3;
}
public void actionPerformed (ActionEvent e)
{
for(int i = 0; i < checkBoxListSta.size(); i++)
{
if (checkBoxListSta.get(i).isSelected())
{
System.out.println("Box "+i+ " ist ausgewählt");
c = 1;
}
else
{
}
}
Reihen = a + b + c;
System.out.println("Anzahl zusätzliche Reihen: " + Reihen);
close2();
Fenster3 window3 = new Fenster3 ();
window3.setVisible(true);
}
}
public void close2()
{
WindowEvent winClosingEvent = new WindowEvent(this,WindowEvent.WINDOW_CLOSING);
Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(winClosingEvent);
}
}
Es handelt sich um die Variablen AnzMessdaten und AnzMessungen, die ich gerne übergeben würde.
Wäre echt prima, wenn mir da jemand weiterhelfen könnte
Danke