chvili jsem si s tim hral a staci nastavit to snapToTicks(), ten listener je
zbytecny...
pokud by se to z nejakeho duvodu nelibilo, tak prekryt metodu setValue:
class MySlider extends JSlider {
@Override
public void setValue(int n) {
if (n % 5 == 0) {
super.setValue(n);
}
}
________________________________________
From: [EMAIL PROTECTED] [EMAIL PROTECTED] On Behalf Of Vity [EMAIL PROTECTED]
Sent: Monday, June 30, 2008 3:26 PM
To: 'Java'
Subject: RE: swing JSlider
Treba takhle?
JFrame f = new JFrame("Test");
final JSlider slider = new JSlider(0, 100, 50);
final JLabel valueLabel = new JLabel("");
slider.getModel().addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent e) {
final int val = slider.getValue();
if (val % 5 == 0) {
valueLabel.setText(String.valueOf(val));
}
}
});
slider.setMinorTickSpacing(5);
slider.setMajorTickSpacing(20);
slider.setPaintTicks(true);
slider.setSnapToTicks(true); //!
valueLabel.setText(String.valueOf(slider.getValue()));
final Container contentPane = f.getContentPane();
contentPane.setLayout(new GridLayout());
contentPane.add(valueLabel);
contentPane.add(slider);
f.setSize(200, 150);
f.setLocationRelativeTo(null);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of Tomas .
> Sent: Monday, June 30, 2008 2:30 PM
> To: Java
> Subject: Re: swing JSlider
>
> Nie to nieje to co som chcel, toto len popise slider stale ma uzivatel
> moznost nastavit cislo n%5!=0
> :(
>
>
> 2008/6/30 Vity <[EMAIL PROTECTED]>:
> >
> > Co treba toto -
> > slider.setMajorTickSpacing(20);
> > slider.setMinorTickSpacing(5);
> > ?
> >
> > -Vity
> >
> > > -----Original Message-----
> > > From: [EMAIL PROTECTED]
> > > [mailto:[EMAIL PROTECTED] On Behalf Of Tomas .
> > > Sent: Monday, June 30, 2008 1:59 PM
> > > To: Java
> > > Subject: swing JSlider
> > >
> > > Potreboval by som poradit ohladom JSlider-u
> > > Povedzme ze mam jSlider nastaveny na min = 0, max = 100 a
> potreboval
> > > by som nastavit krok zmeny nie po 1 ale napriklad po 5.
> > > Aby som tym padom dostaval pri zmene hodnoty 0,5,10,15
> ... 100 a nie
> > > 1,2,3,4.....100.
> > > Existuje na to nejaka metoda alebo figel ?
> > > Skusal som hladat ale nic som nenasiel.
> > >
> > > Dakujem
> > >
> > >
> > >
> > > --
> > > Program terminated with signal 11, Segmentation fault.
> >
>
>
>
> --
> Program terminated with signal 11, Segmentation fault.