2024-05-09 21:06:32 | 我爱编程网
在java中实现一个消息框, 常见的有两种方式
第一种方法: JOptionPane 类. 创建1个弹窗.
例一:简单的消息提示框
JOptionPane.showMessageDialog(null, "消息提示");
2.例二:带警告图片的消息提示框
JOptionPane.showMessageDialog(null, "提示消息", "标题",JOptionPane.WARNING_MESSAGE);
第二种方法 弹窗JDialog 设置setModal(true); 也可以实现. 类似于写JFrame
两者区别在于:
JOptionPane 代码简短, 适应一些普通需求, 比如弹出消息提示, 弹出警告信息, 提示用户输入, 提示用户选择, 等简单的场景
JDialog 代码略长, 组件需要自行定义. 满足一些复杂的需求. 比如多个输入框 ,多个按钮等
这样:
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对象的构造方法中启动一个定时器,每隔一秒检查该方向上的灯是否为绿,是则打印车辆集合和将集合中的第一辆车移除掉。
我爱编程网(https://www.52biancheng.com)小编还为大家带来每天固定时间在桌面右下角弹出提示信息窗口的java程序的相关内容。
一个关于定时提醒的弹窗例子,还不是很成熟,仅供参考
//主窗口界面设计
public class TestButtons {
JFrame frame = new JFrame("提醒");
JButton jButton = new JButton("开始运行"); //按钮
JCheckBox checkBox = new JCheckBox("早上提醒"); //复选按钮
JCheckBox checkBox1 = new JCheckBox("晚上提醒"); //复选按钮
JLabel label = new JLabel("Ready to run."); //静态文本
//构造函数
public TestButtons() {
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(new java.awt.FlowLayout());
//为按钮添加动作监听器
jButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
//按钮事件处理程序
label.setText("Thread keep running.");
int i=Timetorun()*1000;
try {
Thread.sleep(i);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
JFrame parent = new JFrame();
JOptionPane.showMessageDialog(parent, "该干啥了。");
}
});
//早上提醒 复选框处理程序
checkBox.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
JCheckBox cb = (JCheckBox) e.getSource();
label.setText("Selected Check Box is " + cb.isSelected());
}
});
//晚上提醒 复选框处理程序
checkBox1.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
JCheckBox cb = (JCheckBox) e.getSource();
label.setText("Selected Check Box is " + cb.isSelected());
}
});
//添加组件到容器
frame.getContentPane().add(jButton);
frame.getContentPane().add(checkBox);
frame.getContentPane().add(checkBox1);
frame.getContentPane().add(label);
frame.setSize(200, 250);
}
public void show() {
frame.show();
}
//主处理函数
public static void main(String[] args) {
TestButtons tb = new TestButtons();
tb.show();
}
//时间处理函数
public static int Timetorun(){
//获取系统当前时间
Calendar cal=Calendar.getInstance();
int nowhour=cal.get(Calendar.HOUR_OF_DAY);
int nowminite=cal.get(Calendar.MINUTE);
int nowweek=cal.get(Calendar.DAY_OF_WEEK);
System.out.println(nowhour+"");
System.out.println(nowminite+"");
System.out.println(nowweek+"");
int dehour=0;
int deminite=0;
//获取延迟时间
if(nowweek==2 || nowweek==3 || nowweek==5){
if(nowminite<=30 && nowhour<=20){
deminite=30-nowminite;
dehour=20-nowhour;
}
else if(nowminite>30 && nowhour<=20){
deminite=90-nowminite;
dehour=19-nowhour;
}
else if (nowminite<=30 && nowhour>20) {
deminite=30-nowminite;
dehour=44-nowhour;
}
else {
deminite=90-nowminite;
dehour=43-nowhour;
}}
else if(nowweek==4 || nowweek==6 || nowweek==7 || nowweek==1){
if(nowminite<=30 && nowhour<=17){
deminite=30-nowminite;
dehour=17-nowhour;
}
else if(nowminite>30 && nowhour<=17){
deminite=90-nowminite;
dehour=16-nowhour;
}
else if (nowminite<=30 && nowhour>17) {
deminite=30-nowminite;
dehour=41-nowhour;
}
else {
deminite=90-nowminite;
dehour=40-nowhour;
}
}
//延迟时间为K分钟
int k= dehour*60 + deminite;
return k;
}
}
安装了java之后怎样运行程序java,你指的是JDK(javadevelopmentkits)安装完成了,你需要完成以下几个步骤:首先:先将JDK的path,classpath,JAVA_HOME,配置到电脑变量里面,然后:测试JDK是否安装成功,进入电脑控制台,XP是开始菜单->运行选项,Win7为开始菜单->搜索内容里面输入cmd进入控制台,在控制台输入java-v
JAVA编写一个带有窗口的应用程序这样:importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.awt.Graphics;publicclassMainClassextendsJFrame{publicJComboBoxbox;intflag=0;jpNew
java在cmd中编译执行出现错误javac咋么就错了?java环境变量设置-详细版把jdk安装到计算机后(这里以jdk1.7来安装,其他版本一样),再进行设置,java环境才能够生效。首先,右键点我的电脑。打开属性。然后选择“高级”里面的“环境变量”,在新打开的界面中的需要设置三个系统变量属性“JAVA_HOME”、“Path”、“CLASSPATH”。在没安装过jdk前,pa
java中swing界面中主程序运行时进度条不显示,程序结束后才显示;注释掉主程序后,再运行,进度条正常显示你的action事件可以放在一个新线程中运行,不要阻挡Swing画图。Swing对事件的响应都是放在一个叫事件派发的线程中去做的,如果你的事件响应监听器本身在被事件派发线程调用时你做的事件太花时间了(比如我们来个无限循环啥的)我们就应该把这个actionPerformed方法中的
Java十大必读经典书籍推荐在编程的世界里,Java语言以其强大的功能和广泛的应用成为了程序员的首选。今天,我要向你推荐十本Java学习路上不可或缺的经典书籍,它们犹如璀璨的繁星,照亮了无数Java开发者的职业之路。1.Java核心技术·卷I·基础知识(豆瓣评分:9.4)作为Java领域的经典之作,这本书与《Java编程思想》并驾齐驱,畅销10余年,深受全球程序员喜爱。由资
PHP直接调用函数和调用另外一个文件中的函数的区别//如果是PHP文件中的函数,唯一的区别是:先引入外部文件,然后直接调用。//如果是外部类文件中的函数,需要引入,然后new 对象后,再调用该对象的函数。$msg=test_msg();function test_msg(){echo "";}//调用外部文件中的函数//首先引入文件include_once 'file.php';$msg=t
用js的confirm弹出一个框点击确定后如何执行一个php函数?js是客户端脚本,php在服务器端执行的,只能再用异步访问php页面<script>if(confirm('确定吗?')){$.post('test.php',function(msg){//.......});}</script>需要用到jquery,php函数只能
在java中怎么把一个字符串编译为指定编码格式(如:unicode)的输出很多种方法request.setCharacterEncoding("utf-8");//设置输入编码格式response.setContentType("text/html;charset=utf-8");//设置输出编码格式一般写个Servlet的过滤器(getByte("ISO-8859-1"),"u
2025-02-01 20:24:39
2024-01-05 14:11:24
2025-02-12 03:21:37
2025-02-10 15:19:48
2025-01-28 17:58:32
2024-11-22 05:08:01