Habe ein Projekt wo ich nicht so gut weiter komme wie gedacht, daher wollte ich erst mal die Einfache Version davon zu laufen bekommen bevor ich mich zu dem Erweiterungen wage.
http://www.java-forum.org/awt-swing-swt/102232-feedback-fenster-ausgeben.html#post651764
In zwei verschiedenen Klassen wird das selbe Event abgesetzt (Anwender drückt "speichern" Taste nachdem er was geschriben / geändert. Meine Aufgabe ist ein Feedback zu schreiben.
Ich habe zwei Variablen die jedes Mal wenn das Event eintritt um eins erhöht werden.
Meine "geänderte" Idee / Konzept.
Wenn das Event eingetretten ist die Variablen um eins erhöhen, dann denn Beobachter benachrichtigen um ein Feedback in Fenster auszugeben.
Zur veranschaulichen, wie in der Bsp. Klasse hier aber ....
import javax.swing.*;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.*;
import java.awt.image.ImageObserver;
public class fensterTest2 implements ActionListener{ //Interface von ActionListener implementiert
//
JButton button;
private int anzahlLocClicks = 10;
private int anzahlGlobalClicks = 10;
private int prozentAnzeige;
public static void main(String args[]){
fensterTest2 gui = new fensterTest2();
gui.startEvent();
}
public void startEvent(){
JFrame displayFenster = new JFrame();
button = new JButton("Start Mein Event");
button.addActionListener(this);
displayFenster.getContentPane().add(button);
displayFenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
displayFenster.setSize(600,300);
displayFenster.setVisible(true);
}
public void actionPerformed(ActionEvent event){ // hier gibt aus was passiert wenn event eingetretten
button.setText("Du bist "+ prozentAnzeige + "% BESSER als der Rest!!!!");
prozentAnzeige = (anzahlLocClicks*100)/anzahlGlobalClicks;
anzahlLocClicks++;
anzahlGlobalClicks = anzahlGlobalClicks+3;
button.revalidate();
}
}
_____________________________________________________________
Ich möchte die Anzeige von button.setText("Du bist "+ prozentAnzeige + "% BESSER als der Rest!!!!"); aus eine Andere Klasse importieren lassen wie z.B. (noch mal meine alte) Feedback Klasse:
Ich muss dann noch ein Beobachter implementieren welcher aufgerufen wird wenn sich die Werte der anzahlLocClicks, anzahlGlobalClicks Variablen ändern ? oder bin ich jetzt total daneben ???
Die Tipps von der Ersten Posting (s.o.) waren einleuchten, aber irgendwie bin ich nich weiter gekommen .... habe den Eindruck dass ich den Wald von lauter Bäume nicht sehen kann ??? :bahnhof::L
_____________________________________________________________
public class ShowFeedbackRelative1 implements ShowFeedback, FeedbackObserver {
private int anzahlLocClicks;
private int anzahlGlobalClicks;
private FeedbackSimulatorInterface feedbackSimulator;
public ShowFeedbackRelative1(FeedbackSimulatorInterface feedbackSimulator){
this.feedbackSimulator = feedbackSimulator;
feedbackSimulator.registerFeedbackObserver(this);
}
public void update(int anzahlLocClicks, int anzahlGlobalClicks ){
this.anzahlLocClicks = anzahlLocClicks;
this.anzahlGlobalClicks = anzahlGlobalClicks;
feedback();
}
public void feedback(){
int relativeBeiträge;
relativeBeiträge = (anzahlLocClicks * 100) / anzahlGlobalClicks;
System.out.println("Vielen Dank, sie haben mehr Beiträge als " + relativeBeiträge+ "% der Teilnehmer");
}
}
http://www.java-forum.org/awt-swing-swt/102232-feedback-fenster-ausgeben.html#post651764
In zwei verschiedenen Klassen wird das selbe Event abgesetzt (Anwender drückt "speichern" Taste nachdem er was geschriben / geändert. Meine Aufgabe ist ein Feedback zu schreiben.
Ich habe zwei Variablen die jedes Mal wenn das Event eintritt um eins erhöht werden.
Meine "geänderte" Idee / Konzept.
Wenn das Event eingetretten ist die Variablen um eins erhöhen, dann denn Beobachter benachrichtigen um ein Feedback in Fenster auszugeben.
Zur veranschaulichen, wie in der Bsp. Klasse hier aber ....
import javax.swing.*;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.*;
import java.awt.image.ImageObserver;
public class fensterTest2 implements ActionListener{ //Interface von ActionListener implementiert
//
JButton button;
private int anzahlLocClicks = 10;
private int anzahlGlobalClicks = 10;
private int prozentAnzeige;
public static void main(String args[]){
fensterTest2 gui = new fensterTest2();
gui.startEvent();
}
public void startEvent(){
JFrame displayFenster = new JFrame();
button = new JButton("Start Mein Event");
button.addActionListener(this);
displayFenster.getContentPane().add(button);
displayFenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
displayFenster.setSize(600,300);
displayFenster.setVisible(true);
}
public void actionPerformed(ActionEvent event){ // hier gibt aus was passiert wenn event eingetretten
button.setText("Du bist "+ prozentAnzeige + "% BESSER als der Rest!!!!");
prozentAnzeige = (anzahlLocClicks*100)/anzahlGlobalClicks;
anzahlLocClicks++;
anzahlGlobalClicks = anzahlGlobalClicks+3;
button.revalidate();
}
}
_____________________________________________________________
Ich möchte die Anzeige von button.setText("Du bist "+ prozentAnzeige + "% BESSER als der Rest!!!!"); aus eine Andere Klasse importieren lassen wie z.B. (noch mal meine alte) Feedback Klasse:
Ich muss dann noch ein Beobachter implementieren welcher aufgerufen wird wenn sich die Werte der anzahlLocClicks, anzahlGlobalClicks Variablen ändern ? oder bin ich jetzt total daneben ???
Die Tipps von der Ersten Posting (s.o.) waren einleuchten, aber irgendwie bin ich nich weiter gekommen .... habe den Eindruck dass ich den Wald von lauter Bäume nicht sehen kann ??? :bahnhof::L
_____________________________________________________________
public class ShowFeedbackRelative1 implements ShowFeedback, FeedbackObserver {
private int anzahlLocClicks;
private int anzahlGlobalClicks;
private FeedbackSimulatorInterface feedbackSimulator;
public ShowFeedbackRelative1(FeedbackSimulatorInterface feedbackSimulator){
this.feedbackSimulator = feedbackSimulator;
feedbackSimulator.registerFeedbackObserver(this);
}
public void update(int anzahlLocClicks, int anzahlGlobalClicks ){
this.anzahlLocClicks = anzahlLocClicks;
this.anzahlGlobalClicks = anzahlGlobalClicks;
feedback();
}
public void feedback(){
int relativeBeiträge;
relativeBeiträge = (anzahlLocClicks * 100) / anzahlGlobalClicks;
System.out.println("Vielen Dank, sie haben mehr Beiträge als " + relativeBeiträge+ "% der Teilnehmer");
}
}