• 19.04.2024, 02:08
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Lieber Besucher, herzlich willkommen bei: Aqua Computer Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Java: Slider mit eigenen Bildern

Donnerstag, 8. Dezember 2005, 22:03

Hi, gibt es in Java die Möglichkeit, in einem GUI (swing, awt, sonstwas, mir egal) einen Slider mit eigenen Hintergrund / Slider-Icons zu versehen?
was ich mir so letzten Endes vorstelle ist was in dieser Richtung:


danke im Voraus
hobbes

edit: GUI Programmierung geht sowas von garnicht...
Gute work-live-balance ist, wenn man von seinem Privatleben erschöpfter ist als von der Arbeit.

Re: Java: Slider mit eigenen Bildern

Donnerstag, 8. Dezember 2005, 22:15

denk schon, dass swing und swt das können. evtl. musst du dir aber dein slider-widget selbst aus einzelnteilen zusammenbauen oder den code des sliders modifizieren/teilweise überschreiben.

LaNcom

Senior Member

Re: Java: Slider mit eigenen Bildern

Donnerstag, 8. Dezember 2005, 22:45

GUI Programmierung geht derb fluffig! Wenn man Qt verwendet... ;D

Nebenbei bemerkt bekommt Qt4.1 offizielle Java Bindings (Q1/ 2006). Ganz interessant, wenn man auf Java steht. Wenn Du Dir aber Java nur wegen der Portabilität gibst, solltest Du Dir Qt4 erst recht mal genauer anschauen. Das ist nämlich fast noch portabler als Java, und zudem meiner Meinung nach deutlich angenehmer zu programmieren... ;)
"Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music." -- Kristian Wilson, Nintendo, Inc, 1989.

Re: Java: Slider mit eigenen Bildern

Donnerstag, 8. Dezember 2005, 23:09

nö, ich finde nicht, dass Qt besser zu programmieren sei als swing. die java-api ist schon sehr sauber (wennauch nicht ganz ohne einige blöde altlasten).

:)

LaNcom

Senior Member

Re: Java: Slider mit eigenen Bildern

Donnerstag, 8. Dezember 2005, 23:14

Scheint Geschmackssache zu sein. Ich habe GUI-Programmierung mit Java 1.3 angefangen, und bin dann von Java 1.4 auf Qt3 umgestiegen, und komme damit weitaus besser zurecht. Und Qt4.1 rockt das Haus sowieso fett... :)
"Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music." -- Kristian Wilson, Nintendo, Inc, 1989.

Re: Java: Slider mit eigenen Bildern

Freitag, 9. Dezember 2005, 13:52

ich hab mich mal in swing umgesehen.

also eine direkte möglichkeit einen hintergrund für einen jslider zu übergeben sehe ich nicht.

mit "setLabelTable()" kann man bilder für die ticks setzen, also für die einzelnen werte. das sind normalerweise einfache striche.
die bilder sind dann aber neben dem slider an sich.

selber programmieren kann man so eine componente natürlich auch, da kann man sich bestimmt was bei jlabel abschauen, da kann man bilder übergeben.
aber das halte ich für etwas kompliziert wenn man schon nicht gerne gui programmiert. ;)

ich denke bei awt hat man genausowenig glück.
bei swt seh ich bei slider auch grad keine möglichkeit.

tricksen kann man eventuell indem man ein jlabel unter den slider setzt. aber ob das überhaupt geht kann ich nicht auf anhieb sagen, und ausprobieren kostet grad zuviel zeit.

hier mal mein swing beispiel, ich denke aber du meinst was anderes:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package conceptproofs;

import java.util.Hashtable;

import javax.swing.ImageIcon;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JSlider;


public class ImageSlider extends JFrame {
      
      public ImageSlider()
      {
            super("ImageSlider");
            
            // Fenstergrösse + Position setzen
            setBounds(100, 100, 700, 400);
            // Anwendung mit Fenster schließen
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            // Vergrössern/-kleinern des Progs (er)lauben
            setResizable(true);
            
            // ein table für die ticks des jsliders
            Hashtable<Integer, JComponent> dict = new Hashtable<Integer, JComponent>();
            
            JSlider slider = new JSlider();
            slider.setOrientation(JSlider.VERTICAL);
            
            // neues icon holen das wir als tick einbinden
            // die url sollte natürlich angepasst werden
            ImageIcon img = new ImageIcon("d:\\image.jpg");
            // label das das image/icon aufnimmt, dict nimmt ja nur jcomponents auf
            JLabel lab = new JLabel(img);
            // packen wir das label mit dem wert für den tick (5) in die hashtable
            dict.put(new Integer(5), lab);
            // und setzen den hashtable mit jlabel und icon für den slider
            slider.setLabelTable(dict);
            // und natürlich dem slider sagen er soll die ticks auch anzeigen
            slider.setPaintLabels(true);
            
            // dem jframe den slider hinzufügen
            this.add(slider);
            
            // fenster anzeigen
            setVisible(true);
      }
      
      public static void main(String[] args)
      {
            new ImageSlider();
      }
}
Gott hat die Welt ja nur in sieben Tagen erschaffen können, weil es keine installierte Basis gab.