Slider, der naja schwer zu sagen.

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hi.

Also ich wollte einen Slider basteln. An sich ist das recht leicht erklärt, aber mir fallen gerade nicht die Worte ein, also schreib ichs kurz.
slidermg3.jpg


Der Slider soll wie auf dem Bild bis zur 20 den Wertebereich 20 darstellen. Danach soll der Rest der Werte bis 100 in dem recht kleinen Bereich dargestellt werden.

Neben dem Slider kommt noch ein Textfeld hin. Dort werden die Sliderwerte dargestellt.

Versteht ihr was ich meine?
 
G

Gast

Gast
ja das ist schonmal nen guter anfang.

die formel "y = 12.5 * 2^(x/20)" find ich aber irgendwie komisch.

wo kommen denn die 12,5 her? ist das einfach ausprobiert bis es passte? ich denke, das wird dann aber nur genau bei dem problem helfen.

denke dir einen Algo zum Umrechnen der Sliderwerte in die von dir benötigten Werte aus (auf den ersten Blick isses doch eine normale, quadratische Funktion) und gut?
ich wär nicht drauf gekommen, das mit ner quadratischen funktion zu machen. kannste mir das erklären?
 
G

Guest

Gast
AlArenal hat gesagt.:
Hattest du in der Schule keine quadratischen Funktionen!?

doch klar....das waren diese lustigen kurvendiskussionen und son kram, richtig? :D

ich hab nur bis jetzt nie ne quadratische funktion angewandt, ausser in der schule! deshalb weiss ich auch nicht genau wie und warum ich die bei sowas benutzen sollte.
 
G

Gast

Gast
ich bins nochmal.

also in der schule hab ich nie kapiert wofür man quadratische funktionen verwenden kann. habs halt so gemacht wie mein lehrer das wollte und auch meine gute note dafür bekommen.

ich steh jetzt aber echt aufm schlauch.

ich denke mal, das muss so gemacht werden, dass ich die getValue Methode des Sliders überschreibe und dort dann den Wert ausgebe der berechnet wird.

Aber wie berechne ich den jetzt?
 
S

SlaterB

Gast
du willst nicht 1-100 linear haben, also mache ein Quadrat und teile durch 100,

0*0/100 ist immer noch 0, Anfangswert stimmt
100*100/100 ist immer noch 100, Endwert stimmt,

spannnd wird es in der Mitte
20 -> 04
50 -> 25
80 -> 64
90 -> 81

damit würde sich also der Slider-Wert 50 (genau die Hälfte) auf 25 abbilden lasse, was deinen 20 schon recht nahe kommt,

sowas in der Art, wobei ich gar nicht so genau, was eigentlich ein Slider ist, was er so macht,
ich dachte zunächst an eine JProgressBar, aber das ist es wohl nicht? ;)
 

nols

Mitglied
Hi, du hast recht die Formel y=12,5 * 2 ...
lässt sich nur genau auf mein Problem nutzen!
Um das mal etwas zu verdeutlichen:
Klick hier
Beide Funktionen übereinandergelegt ergibt das hier:
dankegoe2.jpg

Der linke Graph zeigt die Werte die ich haben wollte, der rechte die Werte der Funktion.
Mir kam es auch nur auf die Werte an den Punkten: 20 40 60 80 & 100 an.
Die Werte dazwischen interessierten mich nicht!

Ich glaube die Funktion meine Vorredners könnte dich weiterbringen.

Gruß
Nols
 

dsv fritz

Bekanntes Mitglied
Damit wir besser über deine Funktion diskutieren können, brauchen wir mehr Informationen. Ich denke das sich dein Problem nicht mit einer quadratischen Gleichung abbilden läst, wahrscheinlich ist sie ein wenig Komplizierter.
Mein Tipp für deine Vorgehensweise: Suche dir einige Punkte deiner Funktion und verwende Matlab um den Graphen zu bestimmen.
 

Illuvatar

Top Contributor
Ein bisschen nützliche Mathematik nebenbei - wenn man nicht, wie von dsv fritz vorgeschlagen wurde, ein Programm, das das macht, zur Hand hat. Das hier ist allerdings nur für quadratische Fkt. ;)

Wenn man eine solche x/y - Punkte - Liste, wie oben beschrieben, hat, ist es nützlich, diese Punkte in ein log y - log x - Diagramm einzutragen. Das sollte nämlich eine Gerade ergeben. Wenn man da Steigung und Achsenabschnitt abliest, erhält man:
log y = m (log x) + c
log y = log x^m + log 10^c
y = 10^c * x^m

(d.h., wenn wir das auf die Form y = ax^b bringen wollen:
a = 10^c
b = m)

</klugscheiss>
 
G

Gast

Gast
ja also da bin ich wieder. ich hab da nochmal was drüber nachgegrübelt und ne quadratische funktion wär nicht das richtige.
haha.

also ich kann genau 3 punkte bestimmen
A(0,0)
B(70,20);
C(100,10.000)


das is ne recht extreme funktion. also anfangs ne normale steiung und dann huiii :)

Aber wie kann ich mir nun daraus ne funktion berechnen?
 
G

Gast

Gast
also so wie ich das jetzt rausbekommen habe handelt es sich hierbei um eine nicht lineare funktion. aber wie berechne ich die?
 

dsv fritz

Bekanntes Mitglied
Also ich hab mir mal folgendes für dein Problem überlegt:
Du könntest eigentlich dein Slider in zwei lineare Bereich einteilen:
1. Teil von 0 bis 70 und der 2. Teil von 70 bis 100

Somit ergeben sich zwei unterschiedlich Gleichungen:
Für den ersten Teil:
y=2/7*x für x=[0,70[

und für den zweiten Teil:
y=332.7*x-23266.7 fürx=[70,100]

Zusammengeführt gäbe es deine Funktion.
 
G

Gast

Gast
hey cool danke, genau das habe ich auch gemacht. das ist allerdings nicht so die tolle lösung, darum will ichs anders haben.

wenn man das so macht, haben wir 2 bereiche im slider von 1-70 geht alles wunderbar. wenn man dann aber in den restlichen bereich kommt, dann bewegt man den slider nur 1 mm und schon ist man bei 950 oder sowas. das ist blöd :(

das problem ist, dass so der breich von 30-10000 in so einem kleinen breich aufm slider aufgeteilt wird und 1 punkt beim slider sind dann gleich paar hundert in der wirklichkeit.
 
G

Guest

Gast
dsv fritz hat gesagt.:
Also ich hab mir mal folgendes für dein Problem überlegt:
Du könntest eigentlich dein Slider in zwei lineare Bereich einteilen:
1. Teil von 0 bis 70 und der 2. Teil von 70 bis 100

Somit ergeben sich zwei unterschiedlich Gleichungen:
Für den ersten Teil:
y=2/7*x für x=[0,70[

und für den zweiten Teil:
y=332.7*x-23266.7 fürx=[70,100]

Zusammengeführt gäbe es deine Funktion.

ich hole das hier mal hoch,und zwar würd ich gerne wissen wie man solche 2 Funktionen zusammenführt?


Und dann würde ich gerne noch wissen wo genau man diese Funktion dem Slider übergibt/zuweist?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Swing Slider AWT, Swing, JavaFX & SWT 11
B Slider-Wert an anderen Slider übergeben AWT, Swing, JavaFX & SWT 5
S JavaFX Slider freezt nach Benutzung AWT, Swing, JavaFX & SWT 3
G JavaFX Slider in JavaFX beide Seiten beschriften AWT, Swing, JavaFX & SWT 2
S Swing Customised Slider AWT, Swing, JavaFX & SWT 2
J Slider Wert anzeigen AWT, Swing, JavaFX & SWT 15
C Slider für Zeitauswahl AWT, Swing, JavaFX & SWT 3
A Slider soll einen Wert übergeben AWT, Swing, JavaFX & SWT 1
P JavaFX Slider soll Value erst ab einer bestimmten Bedinung aendern AWT, Swing, JavaFX & SWT 19
L ComboBox: slider positionieren AWT, Swing, JavaFX & SWT 0
H org.eclipse.swt.Slider ohne Buttons AWT, Swing, JavaFX & SWT 1
H org.eclipse.swt.widgets.Slider und negative Werte AWT, Swing, JavaFX & SWT 3
H SWT - DataBinding - observerMax für Slider AWT, Swing, JavaFX & SWT 1
G 2D-Slider bzw. eine graphische Auswahlkomponente die sich so verhält AWT, Swing, JavaFX & SWT 6
A Slider (JSlider?) AWT, Swing, JavaFX & SWT 7
B runder Slider AWT, Swing, JavaFX & SWT 3
A Swing Slider-Value auslesen und weitergeben AWT, Swing, JavaFX & SWT 4
D Audio Player Progress Slider nicht flüssig AWT, Swing, JavaFX & SWT 2
Semox Swing Slider mit Value Auswertung wird nicht angezeigt AWT, Swing, JavaFX & SWT 11
O Verbesserungfrage zu einem MP3Player Slider - Ebenius kannst du helfen bitte ? AWT, Swing, JavaFX & SWT 10
M slider soll keine zwischenwerte annehmen AWT, Swing, JavaFX & SWT 2
B Schwer zu beschreibendes Problem mit JFrame oder JButton AWT, Swing, JavaFX & SWT 8
Y hm. ( schwer auszudrücken in kurzform.Problem) AWT, Swing, JavaFX & SWT 3
G JList Schrift ist schwer zu erkennen AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen


Oben