📄 signalframe.java
字号:
/*
* SignalFrame.java
*
* Created on 2007年11月24日, 下午9:03
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package test62;
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
/**
*
* @author User
*/
public class SignalFrame extends Frame implements ItemListener
{
Choice choice;
SignalCanvas signal=null;
String itemRed="红灯",itemYellow="黄灯",itemGreen="绿灯";
public SignalFrame()
{
choice=new Choice();
choice.add(itemRed);
choice.add(itemYellow);
choice.addItem(itemGreen);
choice.addItemListener(this);
add(choice,BorderLayout.NORTH);
try{/*
Class cs=Class.forName("SignalCanvas");
signal=(SignalCanvas)cs.newInstance();
add(signal,BorderLayout.CENTER);*/
signal=new SignalCanvas();
add(signal,BorderLayout.CENTER);
}
catch(Exception e)
{
add(new Label("您还没有编写SignalCanvas类"),BorderLayout.CENTER);
}
setBounds(100,100,360,300);
setVisible(true);
validate();
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
);
}
public void itemStateChanged(ItemEvent e)
{
String item=choice.getSelectedItem(); //choice返回被选种的条目
int w=signal.getBounds().width;
int h=signal.getBounds().height;
int m=Math.min(w,h);
signal.setRadius(m/6);
if(item.equals(itemRed))
{
if(signal!=null)
{
signal.setRed(1);
signal.setYellow(0);
signal.setGreen(0);
signal.setPosition(w/3,0);
signal.repaint();
}
}
else if(item.equals(itemYellow))
{
if(signal!=null)
{
signal.setRed(0);
signal.setYellow(1);
signal.setGreen(0);
signal.setPosition(w/3,h/3);
signal.repaint();
}
}
if(item.equals(itemGreen))
{
if(signal!=null)
{
signal.setRed(0);
signal.setYellow(0);
signal.setGreen(1);
signal.setPosition(w/3,2*h/3);
signal.repaint();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -