扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这样:
十多年的通海网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整通海建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“通海网站设计”,“通海网站推广”以来,每个客户项目都认真落实执行。
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对象的构造方法中启动一个定时器,每隔一秒检查该方向上的灯是否为绿,是则打印车辆集合和将集合中的第一辆车移除掉。
JFrame的默认布局管理器是BorderLayout,有五个方向,TOP、LEFT、CENTER、RIGHT、BOTTOM,如果不给控件制定方向的话会都绘制到同一个默认方向CENTER,所以你最后添加的jf2把之前添加的组件都覆盖了,为每个组件指定方向即可。建议使用JPanel,使用FlowLayout。
import java.awt.BorderLayout;
import java.awt.EventQueue;import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;public class T extends JFrame { private JPanel contentPane;
public JLabel lblNewLabel;
public JLabel label;
public JLabel label_1;
public JTextField textField;
public JTextField textField_1;
public JButton btnNewButton;
public JButton button; public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
T frame = new T();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public T() {
setTitle("JFrame窗体例子");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 300, 200);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
lblNewLabel = new JLabel("帐号:");
lblNewLabel.setBounds(70, 60, 30, 21);
contentPane.add(lblNewLabel);
label = new JLabel("密码:");
label.setBounds(70, 91, 30, 21);
contentPane.add(label);
label_1 = new JLabel("图片标签");
label_1.setBounds(10, 10, 264, 40);
contentPane.add(label_1);
textField = new JTextField();
textField.setBounds(102, 60, 109, 21);
contentPane.add(textField);
textField.setColumns(10);
textField_1 = new JTextField();
textField_1.setColumns(10);
textField_1.setBounds(102, 91, 109, 21);
contentPane.add(textField_1);
btnNewButton = new JButton("登录");
btnNewButton.setBounds(217, 128, 57, 24);
contentPane.add(btnNewButton);
button = new JButton("设置");
button.setBounds(10, 128, 57, 24);
contentPane.add(button);
}
}
主要步骤如下:
1、File——New Project
2、Next
3、输入Name,在Project files location中选择文件要存放的位置,Next
4、Next
5、选择要创建的项目或者直接点finish,创建简单的java项目
6、创建一个新类
7、如下:
8、输入代码:
9、Ctrl+Shift+F10,运行该类:
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流