Tuesday, October 16, 2007

AC Control



Tava eu a pensar o que eu vou publicar hoje, epa tou um pouco sem vontade de fazer nada. Um dakeles dias k so kero fikar...fikar...e fikar. Entao tava so a navegar por alguns applets que tenho no meu pc e encontrei um que fez-me despertar e kerer aprender a criar animacoes com java.



Eh um pequeno remote simples de A/C ar-condicionado. Liga/Desliga, aumenta/diminui a temperatura. Nada grandioso mas pode-se fazer muito mais com isto. Bla,bla...Ai vai o codigo.


import java.awt.*;

import javax.swing.*;

import java.awt.event.*;


public class ArCondicionado_Ap extends JFrame implements ActionListener {

JButton mais, menos, on_off, none;

JLabel status, temperature;

Container remoto;

boolean ligado = false;

int valor = 20; // valor inicial da temperatura


public ArCondicionado_Ap() {

setSize(225,95);

setTitle("A/C Remote");

remoto = getContentPane();

remoto.setBackground(Color.lightGray);

remoto.setLayout(new FlowLayout(FlowLayout.CENTER));

addWindowListener(new CloseWindow());


on_off = new JButton("I / 0");

on_off.addActionListener(this);


mais = new JButton("+");

menos = new JButton("-");

mais.setEnabled(false);

menos.setEnabled(false);

mais.addActionListener(this);

menos.addActionListener(this);


status = new JLabel("Status: Desligado");

status.setForeground(Color.red);

temperature = new JLabel("-- °C");


remoto.add(new JLabel("AC Remote"));

remoto.add(status);

remoto.add(temperature);

remoto.add(on_off);

remoto.add(mais);

remoto.add(menos);


remoto.setVisible(true);

}


public void actionPerformed(ActionEvent e) {

Color cor = new Color(51,153,102);


if (e.getSource().equals(on_off)) {

if (ligado == false) {

status.setForeground(cor);

status.setText("Status: Ligado");

temperature.setText((valor) + "°C");

ligado = true;

menos.setEnabled(true);

mais.setEnabled(true);

}

}


if (e.getSource().equals(mais)) {

temperature.setText((valor++ + 1) + "°C");

menos.setEnabled(true);

if (valor > 29) mais.setEnabled(false);

}


if(e.getSource().equals(menos)) {

temperature.setText((valor-- -1) + "°C");

mais.setEnabled(true);

if (valor <> 11)
}

}


public static void main(String args[]) {

ArCondicionado_Ap ac = new ArCondicionado_Ap();

ac.show(); }

class CloseWindow extends WindowAdapter {

public void windowClosing(WindowEvent we) {

System.exit(0);

}

}

}

No comments: