package ejercicio2; import java.awt.*; import java.awt.event.*; import java.applet.*; public class EjercicioApplet2 extends Applet { private double maximo=1.0; private double minimo=0.0; TextField textField1 = new TextField(); Scrollbar scrollbar1 = new Scrollbar(); BorderLayout borderLayout1 = new BorderLayout(); public void init() { try { jbInit(); } catch (Exception e) { e.printStackTrace(); } } private void jbInit() throws Exception { textField1.setText("0.0"); textField1.setColumns(3); textField1.addKeyListener(new java.awt.event.KeyAdapter() { public void keyPressed(KeyEvent e) { textField1_keyPressed(e); } }); textField1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { textField1_actionPerformed(e); } }); scrollbar1.setValue(0); scrollbar1.setOrientation(0); scrollbar1.addAdjustmentListener(new java.awt.event.AdjustmentListener() { public void adjustmentValueChanged(AdjustmentEvent e) { scrollbar1_adjustmentValueChanged(e); } }); this.setLayout(borderLayout1); this.add(textField1, BorderLayout.WEST); this.add(scrollbar1, BorderLayout.CENTER); } //funciones respuesta void scrollbar1_adjustmentValueChanged(AdjustmentEvent e) { int pos=e.getValue(); textField1.setText(String.valueOf(valorDouble(pos))); } //filtrado de caracteres void textField1_keyPressed(KeyEvent e) { char c=e.getKeyChar(); if((c>='0' && c<='9')||(c=='.')||(c==KeyEvent.VK_DELETE)||(c==KeyEvent.VK_BACK_SPACE)){ return; } e.consume(); } void textField1_actionPerformed(ActionEvent e) { double pos=Double.valueOf(textField1.getText()).doubleValue(); if(posmaximo) pos=maximo; scrollbar1.setValue(valorEntero(pos)); } //funciones auxiliares (cambio de escala) private int valorEntero(double x){ return (int)((100*(x-minimo))/(maximo-minimo)); } private double valorDouble(int x){ return (minimo+x*(maximo-minimo)/100); } }