怎样用vc++编写一个窗口应用程序?

怎样用vc++编写一个窗口应用程序?,第1张

1、首先设计好界面。

2、然后编写DoDataExchange程式

3、然后编写OnInitDialog初始化程式。

4、然后编写OnSysCommand程式。

5、然后编写OnPaint绘制程式。

6、最后编写OnSetlock锁程式。

这样:

import java.awt.*

import java.awt.event.*

import javax.swing.* 

import java.awt.Graphics 

public class MainClass extends JFrame {

  public JComboBox box

  int flag = 0

  jpNewPanel jpNewPanel 

  public static void main(String[] args) {

  MainClass frame = new MainClass()

  frame.setBounds(650,300,550,550)

      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

      frame.setTitle("信号灯")

      frame.setVisible(true)

  } 

  public MainClass() {

      box = new JComboBox()

      box.addItem("请选择")

      box.addItem("红灯")

      box.addActionListener(new ActionListener() {

          public void actionPerformed(ActionEvent e) {

              flag = box.getSelectedIndex()

              jpNewPanel.repaint()

          }

      })

      box.addItem("黄灯")

      box.addActionListener(new ActionListener() {

          public void actionPerformed(ActionEvent e) {

              flag = box.getSelectedIndex()

              jpNewPanel.repaint()

          }

      })

      box.addItem("绿灯")

      box.addActionListener(new ActionListener() {

          public void actionPerformed(ActionEvent e) {

              flag = box.getSelectedIndex()

              jpNewPanel.repaint()

          }

      })

      add(box, BorderLayout.NORTH)

      jpNewPanel = new jpNewPanel()

      add(jpNewPanel, BorderLayout.CENTER)

  }

  class jpNewPanel extends JPanel {

      protected void paintComponent(Graphics g) {

          super.paintComponent(g)

          g.drawOval(150, 0, 120, 120)

          if (flag == 1) {

              g.setColor(Color.RED)

              g.fillOval(150, 0, 120, 120)

          } else if (flag == 2) {

              g.setColor(Color.YELLOW)

              g.fillOval(150, 0, 120, 120)

          } else if (flag == 3) {

              g.setColor(Color.GREEN)

              g.fillOval(150, 0, 120, 120)

          }

      }

  }

}

扩展资料:

注意事项

每个Road对象都有一个name成员变量来代表方向,有一个vehicles成员变量来代表方向上的车辆集合。

在Road对象的构造方法中启动一个线程每隔一个随机的时间向vehicles集合中增加一辆车(用一个“路线名_id”形式的字符串进行表示)。

在Road对象的构造方法中启动一个定时器,每隔一秒检查该方向上的灯是否为绿,是则打印车辆集合和将集合中的第一辆车移除掉。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10946429.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-12
下一篇 2023-05-12

发表评论

登录后才能评论

评论列表(0条)

保存