Datumssauswahl

Status
Nicht offen für weitere Antworten.
I

Idefix77

Gast
Hi hat jemand eine sinnvolle Lösung
wie man eine Datumsauswahl in einer Gui richtig reinbringt???
 
G

Guest

Gast
Ok ich hab mir die sources runtergeladen
aber wo muss ich sie einbinden?
 
S

SlaterB

Gast
zunächst den Kopf einschalten, vielleicht Anleitungen lesen und dann korrekt einbinden,

freundlicher formuliert: ich selber kenne es nicht (du meinst wahrscheinlich JCalendar) und kann dabei nicht weiterhelfen,
bisschen Eigeninitative schadet aber auch nicht, so eine Library wurde nicht in der Form angeboten, dass jeder dann ein Forum dazu fragen muss,

ohne allgemeine Programmierkenntnisse hast du es natürlich überall schwer
 
G

Guest

Gast
Ah ok!
Meinst du

JSpinner spinner = new JSpinner();

Wie muss ich SpinnerDateModell einbauen?[/code]
 
S

SlaterB

Gast
ich wußte dass diese Frage kommen würde ;)
(sorry für Spam und soll auch keine Kritik sein)
 
G

Guest

Gast
Ich habs jetzt mit JCombo Box gelöst!

Sieht zwar nicht gut aus, aber es klappt!
Oder kann mir jemand dass mit JSpinner erklären?


Nun noch folgendes ich will die Differenz zwischen zwei Datums also die Tage ausrechnen!



Code:
final JTextField feld3 = new JTextField();
		feld3.addActionListener(new ActionListener()  {
			public void actionPerformed(ActionEvent ee){
				int intVal=0;
				int intVal2=0;
				int erg=0;
				
				intVal=Integer.parseInt(combo4.getText());
				intVal2=Integer.parseInt(combo1.get...);
				erg=intVal-intVal2;
				feld3.setText(Integer.toString(erg));
			}
		});


getText() gibt es bei Combobox nicht!
Wie würd es klappen?
 

Niki

Top Contributor
Code:
Object o = comboBox.getSelectedItem();
//keine Ahnung was du für Objekte in der ComboBox hast, daher halt auf den gewünschten Typ casten
 

Saxony

Top Contributor
Hiho,

eine Minute googeln brachte folgendes zu Tage:

JSpinner und SpinnerDateModel von hier:

Code:
Calendar cal = Calendar.getInstance();
Date now = cal.getTime();
cal.add(Calendar.YEAR, -50);
Date startDate = cal.getTime();
cal.add(Calendar.YEAR, 100);
Date endDate = cal.getTime();
SpinnerModel model = new SpinnerDateModel(now, startDate, endDate, Calendar.YEAR);
JSpinner spinner = new JSpinner(model);

Und die Differnz von zwei Datumsangaben von hier.

Code:
Calendar cal_1 = new GregorianCalendar();
Calendar cal_2 = new GregorianCalendar();
cal_1.set( 1997, Calendar.MARCH, 1, 0, 0, 0 );                      // erster Zeitpunkt
cal_2.set( 1998, Calendar.APRIL, 2, 0, 0, 0 );                      // zweiter Zeitpunkt
long time = cal_2.getTime().getTime() - cal_1.getTime().getTime();  // Differenz in ms
long days = Math.round( (double)time / (24. * 60.*60.*1000.) );     // Differenz in Tagen
System.out.println( "Zeit-Differenz in Tagen: " + days );

bye Saxony
 
G

Guest

Gast
In der ComboBox sind Strings!

Kann ich ein Objekt vom anderen abziehen?
 

GilbertGrape

Bekanntes Mitglied
2 Strings voneinander abziehen?
Was ist denn hallo - test? :)

Saxony hat dir doch nun ein ausführliches BEispiel geschrieben...
 
G

Guest

Gast
Code:
Calendar cal_1 = new GregorianCalendar(); 
Calendar cal_2 = new GregorianCalendar(); 
cal_1.set( 1997, Calendar.MARCH, 1, 0, 0, 0 );                      // erster Zeitpunkt 
cal_2.set( 1998, Calendar.APRIL, 2, 0, 0, 0 );                      // zweiter Zeitpunkt 
long time = cal_2.getTime().getTime() - cal_1.getTime().getTime();  // Differenz in ms 
long days = Math.round( (double)time / (24. * 60.*60.*1000.) );     // Differenz in Tagen 
System.out.println( "Zeit-Differenz in Tagen: " + days );


Spinner funktioniert!

Jedoch will ich jetzt die ausgewählten Datums in den JSpinnern voneinander abziehen
und dann in einem JTextField anzeigen!
nicht auf der Konsole ausgeben!

und die Datume sollen nicht vorher definiert sondern wie gesagt in den JSpinnern ausgewählt werden!
 

Saxony

Top Contributor
Anonymous hat gesagt.:
Spinner funktioniert!

Jedoch will ich jetzt die ausgewählten Datums in den JSpinnern voneinander abziehen
und dann in einem JTextField anzeigen!
nicht auf der Konsole ausgeben!

und die Datume sollen nicht vorher definiert sondern wie gesagt in den JSpinnern ausgewählt werden!

Machs so:

Code:
Date date1 = (Date)spinner1.getValue();
Date date2 = (Date)spinner2.getValue();
		
long time = date1.getTime() - date2.getTime();
long days = Math.round( (double)time / (24. * 60.*60.*1000.) );

myTextField.setText(days);

bye Saxony

PS: Der Plural von Datum ist Daten. Abhilfe schafft hier bei Unwissenheit die Verwendung von Datumsangaben - so wie in meinem ersten Post! ;)
 
G

Guest

Gast
myTextField.setText(String) funtioniert nicht für long!

Kann ich da noch irgendwas mit cast machen?
 

Saxony

Top Contributor
Hiho,

mach nen String draus:

Code:
myTextField.setText(""+days);

bye Saxony
 
G

Guest

Gast
Ok habs schon hinbekommen!

Jezt gibt es aber wieder ein Problem!

Wenn ich die Daten in den Spinnern ändere, ändert sich jedoch nicht der Wert der Differenz!!!

Kann man das auch noch hinbekommen???
 

byte

Top Contributor
Registrier mal einen ChangeListener auf dem JSpinner. In der stateChanged(...) berechnest Du die Differenz neu.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben