Sunday 23 March 2014

JAVA program

AIM:- Design a user define bean name as Temperature. Which is use to check the temperature. Temperature bean has a property currentTemp Also define the TemperaturLlistener and TemperatureEvent class for it Temperature Listener contain one handler called temperatureChanged which is called when temperature changes and TemperatureEvent class has getTemperature() as method.

Source Code

Thermometer.java:

import java.awt.*;
import java.util.*;
import javax.swing.*;
import javax.swing.event.*;

class Thermometer extends JSlider implements ChangeListener
{
private Vector listeners = new Vector();

public Thermometer(int min,int max,int initial)
{
super(min,max,initial);
addChangeListener(this);
}

public int getTemperature()
{
int i=getValue();
return i;
}
public void setTemperature(int i)
{
setValue(i);
}

public void setPaintTemperatureTicks(boolean state)
{
setPaintTicks(state);
}
public void setPaintTemperatureDegrees(boolean state)
{
setPaintLabels(state);
}

public void setMinorTemperatureTickSpace(int i)
{
setMinorTickSpacing(i);
}
public void setMajorTemperatureTickSpace(int i)
{
setMajorTickSpacing(i);
}

public synchronized void addTemperatureListener(TemperatureListener tl)
{
listeners.addElement(tl);
}

public synchronized void removeTemperatureListener(TemperatureListener tl)
{
listeners.removeElement(tl);
}

public void stateChanged(ChangeEvent ce)
{
TemperatureEvent te = new TemperatureEvent(this);
for(Enumeration e = listeners.elements();e.hasMoreElements();)
{
TemperatureListener t=(TemperatureListener)e.nextElement();
t.temperatureChanged(te);
}
}

}

TemperatureEvent.java:

public class TemperatureEvent extends java.util.EventObject
{
public TemperatureEvent(Object source)
{
super(source);
}
}

TemperatureListener.java:

public interface TemperatureListener extends java.util.EventListener
{
void temperatureChanged(TemperatureEvent m);
}


MyThermometer.java:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

class MyThermometer extends JFrame implements TemperatureListener
{
Container cont;
Thermometer t;
JLabel lblTemp;

public MyThermometer()
{
cont=getContentPane();

t=new Thermometer(-5,100,30);
t.setMinorTemperatureTickSpace(1);
t.setMajorTemperatureTickSpace(5);
t.setPaintTemperatureTicks(true);
t.setPaintTemperatureDegrees(true);
t.addTemperatureListener(this);
cont.add(t,BorderLayout.SOUTH);

lblTemp=new JLabel("<html>"+t.getTemperature()+"<sup>o</sup> C<html>",JLabel.CENTER);
lblTemp.setFont(new Font("Arial Black",Font.BOLD,80));
cont.add(lblTemp,BorderLayout.CENTER);

setSize(500,500);
setVisible(true);
}
public void temperatureChanged(TemperatureEvent te)
{
int t1=((Thermometer)te.getSource()).getTemperature();
lblTemp.setText("<html>"+t1+"<sup>o</sup> C</html>");
}

public static void main(String[] args)
{
MyThermometer mt=new MyThermometer();
mt.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
}
}






No comments:

Post a Comment