📄 clientgui.java
字号:
package ACRemote;
import ACRemote.*;
import java.io.*;
import java.awt.*;
import java.util.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.event.*;
import javax.swing.border.*;
public class ClientGUI extends JFrame implements ActionListener,ItemListener{
JLabel label1,label2,label3,label4;
JPanel panelh =new JPanel(new FlowLayout(FlowLayout.CENTER));
JPanel panelm =new JPanel(new FlowLayout(FlowLayout.LEFT));
JPanel panel1 =new JPanel();
JPanel panel2 =new JPanel();
JPanel panel3 =new JPanel();
JCheckBox ch1;
JComboBox cb1,cb2,cb3;
String strserver,str;
String ON="On";
String OFF="Off";
int status,temp,hh,mm;
StringTokenizer stoken;
Color c=new Color(100,100,255);
Font f1=new Font("Arial",Font.BOLD,12);
public ClientGUI(){
getContentPane().setLayout(null);
setResizable(false);
setBackground(Color.lightGray);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent we){
System.exit(0);}
});
panelh.setBounds(15,5,150,30);
panelm.setBounds(25,35,185,150);
panel1.setBounds(30,65,150,30);
panel2.setBounds(30,95,150,30);
panel3.setBounds(30,125,185,30);
label1=new JLabel("A/C Remote");
label1.setFont(f1);
label1.setForeground(c);
panelh.add(label1);
panelm.add(panel1);
panelm.add(panel2);
panelm.add(panel3);
panel1.add(label1=new JLabel("On / Off :"));
panel1.add(ch1= new JCheckBox());
panel2.add(label2=new JLabel("Temperature :"));
panel2.add(cb1= new JComboBox());
panel3.add(label2=new JLabel("Time(hh:mm):"));
panel3.add(cb2= new JComboBox());
panel3.add(cb3= new JComboBox());
for(int i=10;i<=30;i++){
String s = new String(""+i);
cb1.addItem(s);
}
for(int j=0;j<=12;j++){
String s=new String(""+j);
cb2.addItem(s);
}
for(int j=0;j<=60;j+=5){
String s=new String(""+j);
cb3.addItem(s);
}
strserver = ((ACRemoteServiceInterface)ACRemoteClient.obj).getStatus();
Tokenize();
if(status == 1) {
ch1.setSelected(true);
} else {
ch1.setSelected(false);
cb1.setEnabled(false);
cb2.setEnabled(false);
cb3.setEnabled(false);
}
cb1.setSelectedItem(""+temp);
cb2.setSelectedItem(""+hh);
cb3.setSelectedItem(""+mm);
ch1.addItemListener(this);
cb1.addActionListener(this);
cb2.addActionListener(this);
cb3.addActionListener(this);
getContentPane().add(panelh);
getContentPane().add(panelm);
}
public void actionPerformed(ActionEvent ae){
Object o = ae.getSource();
if(o.equals(cb1)){
temp=Integer.parseInt((String)cb1.getSelectedItem());
((ACRemoteServiceInterface)ACRemoteClient.obj).setTemp(temp);
}
if(o.equals(cb2)){
hh=Integer.parseInt((String)cb2.getSelectedItem());
((ACRemoteServiceInterface)ACRemoteClient.obj).setTimer(hh,mm);
}
if(o.equals(cb3)){
mm=Integer.parseInt((String)cb3.getSelectedItem());
((ACRemoteServiceInterface)ACRemoteClient.obj).setTimer(hh,mm);
}
strserver = ((ACRemoteServiceInterface)ACRemoteClient.obj).getStatus();
Tokenize();
}
public void itemStateChanged(ItemEvent ie){
status = (int)ie.getStateChange();
((ACRemoteServiceInterface)ACRemoteClient.obj).setOnOff(status);
strserver = ((ACRemoteServiceInterface)ACRemoteClient.obj).getStatus();
Tokenize();
if(status == 1) {
cb1.setEnabled(true);
cb2.setEnabled(true);
cb3.setEnabled(true);
} else {
cb1.setEnabled(false);
cb2.setEnabled(false);
cb3.setEnabled(false);
}
}
public void Tokenize(){
stoken = new StringTokenizer(strserver,"#");
status=Integer.parseInt(stoken.nextToken());
temp=Integer.parseInt(stoken.nextToken());
hh=Integer.parseInt(stoken.nextToken());
mm=Integer.parseInt(stoken.nextToken());
System.out.println("Status : "+((status == 1) ? ON : OFF)+" temp : "+temp+" hh : "+hh+" mm : "+mm);
}
static ACRemoteClient acremote;
public static void main(String args[])
{
try{
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
}catch (Exception e){
}
System.out.println("\n Please wait.....");
try{
acremote = new ACRemoteClient();
new Thread(acremote).start();
}catch(Exception e) {
System.err.println("Unable to create client: "+e.getMessage());
}
try{
Thread.sleep(15*1000);
}catch(Exception e){
System.err.println("Interrpted Exception occured: "+e.getMessage());
}
ClientGUI sac=new ClientGUI();
sac.setSize(220,200);
sac.setVisible(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -