⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 signalframe.java

📁 java实验6的一个程序代码
💻 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 + -