📄 trafficlightpanel.java
字号:
//******************************************************************************
// trafficlight.java Author:lsh
//
// 画出交通灯并用按钮改变灯的颜色
//******************************************************************************
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class trafficlightPanel extends JPanel
{
final int BASEX=200;
final int BASEY=50;
private JButton change;
private JPanel buttonPanel;
private JLabel label;
private int count=3;
//---------------------------------------------------------------
//GUI编程
//---------------------------------------------------------------
public trafficlightPanel()
{
setBackground(Color.cyan);
setPreferredSize(new Dimension(900,600));
change=new JButton("change");
ButtonListener listener=new ButtonListener();
change.addActionListener(listener);
buttonPanel=new JPanel();
buttonPanel.setPreferredSize(new Dimension(100,50));
buttonPanel.setBackground(Color.blue);
buttonPanel.add(change);
add(buttonPanel);
}
//----------------------------------------------------------------
//画图并加颜色
//----------------------------------------------------------------
public void paintComponent(Graphics page)
{
super.paintComponent(page);
if(count%3==0)
{
page.setColor(Color.lightGray);
page.fillOval(BASEX-98,BASEY+35,250,80);
page.fillRect(BASEX+15,BASEY+110,30,350);
page.fillRect(BASEX-160,BASEY+450,400,10);
page.setColor(Color.red);
page.fillOval(BASEX-60,BASEY+50,50,50);
page.setColor(Color.gray);
page.fillOval(BASEX,BASEY+50,50,50);
page.fillOval(BASEX+60,BASEY+50,50,50);
}
if(count%3==1)
{
page.setColor(Color.lightGray);
page.fillOval(BASEX-98,BASEY+35,250,80);
page.fillRect(BASEX+15,BASEY+110,30,350);
page.fillRect(BASEX-160,BASEY+450,400,10);
page.setColor(Color.green);
page.fillOval(BASEX,BASEY+50,50,50);
page.setColor(Color.gray);
page.fillOval(BASEX-60,BASEY+50,50,50);
page.fillOval(BASEX+60,BASEY+50,50,50);
}
if(count%3==2)
{
page.setColor(Color.lightGray);
page.fillOval(BASEX-98,BASEY+35,250,80);
page.fillRect(BASEX+15,BASEY+110,30,350);
page.fillRect(BASEX-160,BASEY+450,400,10);
page.setColor(Color.yellow);
page.fillOval(BASEX+60,BASEY+50,50,50);
page.setColor(Color.gray);
page.fillOval(BASEX,BASEY+50,50,50);
page.fillOval(BASEX-60,BASEY+50,50,50);
}
}
//--------------------------------------------------------------
//监听
//--------------------------------------------------------------
private class ButtonListener implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
count++;
repaint();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -