Hallo zusammen,
ich habe ein Problem mit den Get und Set-Methoden und ich hoffe das Ihr mir helfen könnt.
Wahrscheinlich übersehe ich einfach nur meinen Fehler.
Ich habe mein Problem auf 4 Klassen runter gebrochen, da dies als Beispiel ausreichend ist.
(eine Main, eine View, ein Controller und eine Klasse um Feiertage zu ermitteln).
Das Programm liest aus dem JTextField, welches sich in der Klasse View befindet, das Datum und ich kann in der Klasse Controller darauf zugreifen.
Nun möchte ich auf dieses Datum per Get-Methode in der Klasse Feiertage zugreifen und hier scheitert mein Vorhaben, da in der Klasse Feiertag als Wert nichts ankommt.
Ich füge einfach mal die 4 Klassen an und hoffe auf eure Hilfe.
Vielen Dank im Voraus!
ich habe ein Problem mit den Get und Set-Methoden und ich hoffe das Ihr mir helfen könnt.
Wahrscheinlich übersehe ich einfach nur meinen Fehler.
Ich habe mein Problem auf 4 Klassen runter gebrochen, da dies als Beispiel ausreichend ist.
(eine Main, eine View, ein Controller und eine Klasse um Feiertage zu ermitteln).
Das Programm liest aus dem JTextField, welches sich in der Klasse View befindet, das Datum und ich kann in der Klasse Controller darauf zugreifen.
Nun möchte ich auf dieses Datum per Get-Methode in der Klasse Feiertage zugreifen und hier scheitert mein Vorhaben, da in der Klasse Feiertag als Wert nichts ankommt.
Ich füge einfach mal die 4 Klassen an und hoffe auf eure Hilfe.
Vielen Dank im Voraus!
Java:
package com.company;
import java.awt.*;
public class Main {
static Controller controller;
public static void main(String[] args)
{
EventQueue.invokeLater(() -> {
try {
controller = new Controller();
controller.showView();
} catch (Exception e) {
System.out.println(e.toString());
e.printStackTrace();
}
});
}
}
Java:
package com.company;
import javax.swing.*;
import java.awt.event.ActionListener;
public class View extends JFrame
{
public JTextField tf_year;
public JLabel lb_year;
public JButton bt_tage;
public View(){
super("");
initForm();
}
public void initForm()
{
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(350,350);
setLayout(null);
setVisible(false);
lb_year = new JLabel("Jahr:");
tf_year = new JTextField();
add(lb_year);
lb_year.setBounds(5, 45, 150, 20);
add(tf_year);
tf_year.setBounds(5, 65, 150, 20);
bt_tage = new JButton("Jahr \u00FCbernehmen!");
add(bt_tage);
bt_tage.setBounds(160,65,150,20);
}
public void setTageFormListener(ActionListener l)
{
this.bt_tage.addActionListener(l);
}
}
Java:
package com.company;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Controller {
private View view;
private Feiertag fe;
private int year;
public Controller()
{
this.view = new View();
this.fe = new Feiertag();
addListener();
}
public void showView(){
this.view.setVisible(true);
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
public void addListener()
{
this.view.setTageFormListener(new TageFormListener());
}
class TageFormListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
try
{
year = Integer.parseInt(view.tf_year.getText());
System.out.println("Jahr aus Controller: " + year);
fe.isFeiertag();
}
catch(NumberFormatException ex)
{
}
}
}
}
Java:
package com.company;
public class Feiertag
{
private int yearfe;
public void isFeiertag()
{
Controller con = new Controller();
yearfe = con.getYear();
System.out.println("Jahr aus Feiertag: "+ yearfe);
}
}