JAVA如何给程序设置一个窗口

JAVA如何给程序设置一个窗口,第1张

首先,绘制一个默认的窗体,创建好工程,包,类,命名类为Window.很简单,在类中添加一个私有属性JFrame,这么写:private JFrame f = new JFrame("欢迎来到本自助银行")Window的构造方法中,只写 f.setVisible(true)以及窗体的初始位置和初始大小:f.setLocation(300, 200)f.setSize(800, 500)

然后在同一个构造函数中跟进一行f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)此为设置关闭图标即退出程序紧接着,写f.setResizable(false)此为设置不可更改窗体大小。如图,的确裤虚斗没办法更改了。

最后,便是画龙点睛的一笔,给窗体添加一个图标,显得更专业了一些:f.setIconImage(Toolkit.getDefaultToolkit().createImage("E:\\a.jpg"))

这里有一誉模点比较重要,重申一句。构造器中的设置比静态属性初始化设置更有直接影响力。而且,程序是执行向上覆盖的。也就是说,如果之后有过更改,那么更改之后就显示更改后的结果,比如,在这个构造函数中再写f.setTitle("好好活着")那么,请注意窗体的文字。如图胡磨:

这样:

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, "你点击了取消按钮敏野") }

}

}


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

原文地址:https://54852.com/yw/12439935.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存