Java - JSlider

 
Vista:

JSlider

Publicado por victoria (23 intervenciones) el 06/06/2007 11:41:38
Hola necesito ayuda, me creado un scroll de tipo "JSlider" y lo quiero q haga es q en su movimiento mueva una linea. Me creado esta clase y luego en el metodo paint lo q hago es lo siguiente:


class sliderListener implements ChangeListener {
public void stateChanged(ChangeEvent e) {
JSlider tempSlider = (JSlider) e.getSource();
if (tempSlider.equals(scrollprueba)) {
transY = scrollprueba.getValue() - 100.0;
System.out.print("\nTransY: "+transY);
//canvas.repaint();
grafica.repaint();

}
else if(tempSlider.equals(scrollprueba2)){
transX = scrollprueba2.getValue()-100.0;
grafica.repaint();
System.out.print("\nTransX: "+transX);
}
}
}


public void paint(Graphics g){

Graphics2D g2D= (Graphics2D) g;
g2D.translate(applet.transX, applet.transY);
g.drawLine(0, 150, 300, 150);
BasicStroke stroke = new BasicStroke(1);
g2D.setStroke(stroke);
Line2D line1 = new Line2D.Float(0f, 150f, 300f, 150f);
g2D.draw(line1);

}

Pero me muestra la linea pero no me la mueve. Alguien me puede ayudar??
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:JSlider

Publicado por Gilberto (378 intervenciones) el 06/06/2007 16:50:02
Ya añadiste al componente slider tu ChangeListener?

slider.addChangeListener(sliderListener);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:JSlider

Publicado por victoria (23 intervenciones) el 06/06/2007 17:26:47
Si mira en el metodo init me creado las variables:

setSlider(jpnScroll, JSlider.HORIZONTAL, 0, 30, 15, 5, 1);
scrollprueba = slider;
setSlider(jpnScroll,JSlider.HORIZONTAL,0,30,15,5,1);
scrollprueba2 = slider;

Luego me creado otro metodo, donde hago lo q me dices. Pero no me sale.

public void setSlider(JPanel panel, int orientacion, int minimumValue,
int maximumValue, int initValue, int majorTickSpacing,
int minorTickSpacing) {
JSlider slider = new JSlider(orientacion, minimumValue, maximumValue,
initValue);
slider.setPaintTicks(true);
slider.setMajorTickSpacing(majorTickSpacing);
slider.setMinorTickSpacing(minorTickSpacing);
slider.setPaintLabels(true);
slider.addChangeListener(new sliderListener());

panel.add(slider);
}

Me puedes ayudar???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar