JAVA 编写一个带有窗口的应用程序

JAVA 编写一个带有窗口的应用程序,第1张

这样:

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

import javax.swing.*

import java.awt.*

import java.awt.event.*

public class Test3 extends JFrame implements ActionListener{

JMenu m

JMenuItem mi1,mi2

JMenuBar mb

public Test3(){

m = new JMenu("学生查询")

mi1 = new JMenuItem("确认")

mi2 = new JMenuItem("取消")

mb = new JMenuBar()

m.add(mi1)

m.add(mi2)

mb.add(m)

this.setJMenuBar(mb)

this.setSize(400,300)

this.setLocationRelativeTo(null)//窗口居中

this.setVisible(true)

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

mi1.addActionListener(this)

mi2.addActionListener(this)

}

public static void main(String[] args){

new Test3()

}

public void actionPerformed(ActionEvent ae){

if(ae.getSource()==mi1){

JOptionPane.showMessageDialog(null, "你点击了确定按钮") }else{

JOptionPane.showMessageDialog(null, "你点击了取消按钮") }

}

}


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存