import java.awt.Font;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JSlider;
import javax.swing.JTextField;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.awt.Color;
public class ZamianaStopni {
static JSlider Celsjusz;
static JSlider Fagrenhelt;
static JSlider Kelwin;
static JLabel skalaC;
static JLabel skalaF;
static JLabel skalaK;
static JTextField wartoscC;
static JTextField wartoscF;
static JTextField wartoscK;
public static void main(String arg[]) {
JFrame j = new JFrame("Zamiania temperatur");
j.setSize(500, 350);
j.getContentPane().setLayout(null);
j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
listener1 l1 = new listener1();
listener2 l2 = new listener2();
listener3 l3 = new listener3();
lis1 z1 = new lis1();
lis2 z2 = new lis2();
lis3 z3 = new lis3();
Celsjusz = new JSlider();
Celsjusz.setMinorTickSpacing(1);
Celsjusz.setValue(0);
Celsjusz.setMinimum(-273);
Celsjusz.setMaximum(727);
Celsjusz.setBounds(10, 44, 317, 31);
Celsjusz.addChangeListener(l1);
j.getContentPane().add(Celsjusz);
Fagrenhelt = new JSlider();
Fagrenhelt.setMinorTickSpacing(1);
Fagrenhelt.setValue(32);
Fagrenhelt.setMinimum(-460);
Fagrenhelt.setMaximum(1340);
Fagrenhelt.setBounds(10, 152, 317, 31);
Fagrenhelt.addChangeListener(l2);
j.getContentPane().add(Fagrenhelt);
Kelwin = new JSlider();
Kelwin.setForeground(Color.RED);
Kelwin.setMinorTickSpacing(1);
Kelwin.setValue(500);
Kelwin.setMaximum(1000);
Kelwin.setBounds(10, 259, 317, 31);
Kelwin.addChangeListener(l3);
j.getContentPane().add(Kelwin);
skalaC = new JLabel("Skala Celsjusza");
skalaC.setFont(new Font("Tekton Pro", Font.BOLD | Font.ITALIC, 15));
skalaC.setBounds(10, 11, 200, 22);
j.getContentPane().add(skalaC);
skalaF = new JLabel("Skala Fahrenheita");
skalaF.setFont(new Font("Tekton Pro", Font.BOLD | Font.ITALIC, 15));
skalaF.setBounds(10, 127, 126, 14);
j.getContentPane().add(skalaF);
skalaK = new JLabel("Kelwin");
skalaK.setFont(new Font("Tekton Pro", Font.BOLD | Font.ITALIC, 15));
skalaK.setBounds(10, 234, 46, 14);
j.getContentPane().add(skalaK);
wartoscC = new JTextField("Rusz sliderem");
wartoscC.setBounds(353, 44, 126, 31);
wartoscC.addKeyListener(z1);
j.getContentPane().add(wartoscC);
wartoscF = new JTextField("Rusz sliderem");
wartoscF.setBounds(353, 152, 126, 31);
wartoscF.addKeyListener(z2);
j.getContentPane().add(wartoscF);
wartoscK = new JTextField("Rusz sliderem");
wartoscK.setBounds(353, 259, 126, 31);
j.getContentPane().add(wartoscK);
wartoscK.addKeyListener(z3);
j.setVisible(true);
}
}
class listener1 implements ChangeListener{ //C
public void stateChanged(ChangeEvent e) {
ZamianaStopni.wartoscC.setText(ZamianaStopni.Celsjusz.getValue()+"");
ZamianaStopni.Fagrenhelt.setValue( ZamianaStopni.Celsjusz.getValue()*9/5+32);
}
}
class listener2 implements ChangeListener{ //F
public void stateChanged(ChangeEvent e) {
ZamianaStopni.wartoscF.setText( ZamianaStopni.Fagrenhelt.getValue()+"");
ZamianaStopni.Kelwin.setValue( (ZamianaStopni.Fagrenhelt.getValue()-32)*5/9+273 );
}
}
class listener3 implements ChangeListener{ //K
public void stateChanged(ChangeEvent e) {
ZamianaStopni.wartoscK.setText(ZamianaStopni.Kelwin.getValue()+"");
ZamianaStopni.Celsjusz.setValue(ZamianaStopni.Kelwin.getValue()-273);
}
}
class lis1 implements KeyListener{ //C
public void keyPressed(KeyEvent e) {}
public void keyReleased(KeyEvent e) {
if( ZamianaStopni.wartoscC.getText().matches("\\d+"))
ZamianaStopni.Celsjusz.setValue(Integer.parseInt(ZamianaStopni.wartoscC.getText()));
else ZamianaStopni.wartoscC.setText("");
}
public void keyTyped(KeyEvent e) {}
}
class lis2 implements KeyListener{ //F
public void keyPressed(KeyEvent e) {}
public void keyReleased(KeyEvent e) {
if( ZamianaStopni.wartoscF.getText().matches("\\d+"))
ZamianaStopni.Fagrenhelt.setValue(Integer.parseInt(ZamianaStopni.wartoscF.getText()));
else ZamianaStopni.wartoscF.setText("");
}
public void keyTyped(KeyEvent e) {}
}
class lis3 implements KeyListener{ //K
public void keyPressed(KeyEvent e) {}
public void keyReleased(KeyEvent e) {
if( ZamianaStopni.wartoscK.getText().matches("\\d+"))
ZamianaStopni.Kelwin.setValue(Integer.parseInt(ZamianaStopni.wartoscK.getText()));
else ZamianaStopni.wartoscK.setText("");
}
public void keyTyped(KeyEvent e) {}
}
W Eclipse