怎样用java实现:通过单击菜单项生成可设置软件运行时间的子窗口?

怎么实现 :
1、单击菜单项(如图)后生成子窗口
2、在子窗口设置软件运行的时间

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public classTest extends JFrame implements ActionListener{

public Test(){
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
setBounds(200, 100, 300, 400);
JMenuBar jMenuBar=new JMenuBar();
JMenu jMenu=new JMenu("操作");
JMenuItem jMenuItem=new JMenuItem("设置运行时间");
setJMenuBar(jMenuBar);
jMenuBar.add(jMenu);
jMenu.add(jMenuItem);
jMenuItem.addActionListener(this);

}
@Override
public void actionPerformed(ActionEvent e) {
new TimerFrame();

}
public static void main(String[]args){
System.out.println("gg");
new Test();
}

}

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.Timer;

public class TimerFrame extends JFrame implements ActionListener{
JButton jButton=new JButton("确定");
long time=0;
Timer timer;
int m;
JTextField jField=new JTextField(10);
public TimerFrame(){
setLayout(new FlowLayout());
timer=new Timer(1000,this);
setVisible(true);
setLocation(400,300);
add(new JLabel("设置:"));
add(jField);
add(new JLabel("秒后"));
add(jButton);
jButton.addActionListener(this);
pack();
}
@Override
public void actionPerformed(ActionEvent e) {
String string=e.getActionCommand();

if(string!=null&&string.equals("确定"))
{
timer.start();
this.dispose();
m=Integer.parseInt(jField.getText());

}
else{

if(time==m)
System.exit(0);
time++;
}
}
}
要求是达到了。自己完善设置时分秒后退出,判断输入的是否有效等等。有什么疑问可hi我后追问追问

如要设置软件在08:00~18:00(这个时间段要求能随意设置)之间每隔1小时运行一次,怎么设置呢?
我主要是没找到关于时间设置的资料

追答

定时器底层用线程实现的。每隔一个小时运行一次,让线程睡眠一小时然后在启动该程序。TimerFrame类用线程实现修改如下,仅供参考。
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Date;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class TimerFrame extends JFrame implements ActionListener,Runnable{
JButton jButton=new JButton("确定");
JFrame jf;
int m;
JTextField jField=new JTextField(10);
public TimerFrame(JFrame jf){
this.jf=jf;
setLayout(new FlowLayout());
setVisible(true);
setLocation(400,300);
add(new JLabel("设置:"));
add(jField);
add(new JLabel("秒后"));
add(jButton);
jButton.addActionListener(this);
pack();
}

public void actionPerformed(ActionEvent e) {
String string=e.getActionCommand();
if(string!=null&&string.equals("确定"))
{
new Thread(this).start();
this.dispose();
}
}
public void run() {
try {
m=Integer.parseInt(jField.getText());
Thread.sleep(m*1000);
jf.dispose();
while(true){
Date date=new Date();
if(date.getHours()>=18||date.getHours()<=8)//不在时间段内退出
System.exit(0);
Thread.sleep(3600*1000);//一个小时后启动
jf.setVisible(true);
///Runtime.getRuntime().exec("该程序的路径");//可启动该程序

/*Thread.sleep(600*1000)//加此句不手动关闭窗口,程序运行10分钟自己关闭
* jf.dispode();
* */

}

} catch (InterruptedException e) {
e.printStackTrace();
}

}
}
在Test 构造中去掉setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);事件处理时
new TimerFrame(this)当前对象传进去
public void actionPerformed(ActionEvent e) {
new TimerFrame(this);

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-05-02
是要写一个定时程序还是?追问

主要是写一个定时程序。比如我要设置软件在08:00~18:00(这个时间段要求能随意设置)之间每隔1小时运行一次

第2个回答  2012-05-02
太无聊了。追问

主要是写一个定时程序。比如我要能设置软件在08:00~18:00之间每隔1小时运行一次

怎样用java实现:通过单击菜单项生成可设置软件运行时间的子窗口?
import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;public classTest extends JFrame implements ActionListener{ public Test(){ setDefaultCloseOperation(JFrame.EXIT_...

java怎么实现点击一个按钮打开一个窗口,再点一次显示窗口正在运行,关掉...
第一个窗体LoginFrame.java:packagewinRelation;importjava.awt.Dimension;importjava.awt.Rectangle;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JOptionPane;publicclassLoginFrameextendsJFrame{JButtonbutton=new...

java编的简单文本编辑器!!急求!!!不要网上随便搜的复制粘贴的!!!
当选择Quit时,退出该程序的执行,此菜单项对应的快捷方式是Ctrl+E。Format菜单又包括Color和Font。当选择Color时,可以在二级菜单中选择不同颜色(比如红、黄、蓝等),选择好后可将文本框中所有的字符都变换为对应的颜色。当选择Format时,可以在二级菜单中选择不同的字体方式(加粗、倾斜、不同字号等),选择后文本框中...

eclipse快捷键设置百科全书(自动整理运行代码 调试 放大窗口 排版 输入...
锁定命令行窗口:在命令行视图中,尝试用滚动锁定按钮锁定控制台输出,不滚动。使用Ant视图:在我的Java或调试模式下,我喜欢显示Ant视图,这样我可以快速运行Ant任务。可以通过窗口Ant找到视图。将Ant视图放在屏幕的角落,并通过 quot添加其他显示视图生成文件 quot按钮。在3.1版本中,甚至支持Ant调试脚本语言。自动遍历一个集合...

...用menu控件,实现菜单横排,鼠标移动到菜单的一项上,向下弹出子菜单...
(4) 在Default.aspx中选择Menu1控件,在【属性】窗体中找到Items选项,单击其右边的【…】按钮打开【菜单项编辑器】对话框,在其中菜单项并设置其相应属性。如图7-6所示。 (点击查看大图)图7-6 【菜单项编辑器】对话框(5) 菜单项设置完毕,单击【确定】按钮。这时在【源】窗口中可以看到VWD 2008自动生成如下代码...

编程语言java怎么运行?
如何运行JAVA? 第一步:下载并安装JDK6.0,安装路劲为:C:\\java\\jdk1.6.\\x0d\\x0a\\x0d\\x0a第二步:对“我的电脑”按右键,选“属性”,在“系统属性”窗口中选“高级”标签,再按“环境变量”按钮,弹出一个“环境变量”的窗口,在系统变量中新建一个变量,变量名为“JAVA_HOME“,变量值为"C:\\java\\jdk1.6"...

我装了JAVA 我在命令提示符里面 输入java 可以.但是输入javac就不行了...
1、 点击操作系统桌面上左下角的‘开始’菜单,选择‘运行’,然后在打开对话框里输入CMD,看到了吧,我们进入了命令提示符窗口,我们爱叫他DOS界面。 2、 现在大家在窗口里应该看到提示符了吧,通常会是这样:C:\\Documents and Settings\\Administrator> 3、 下面让我们在提示符后面敲上这样一个命令:JAVA,出现了这样的...

DELPHI基础教程:文件管理(二)[4]
子窗口的创建 布置由父窗口的Windows菜单控制 其菜单项如下 ● New Windows : 创建新的子窗口 ● Tile : 平铺 ● Cascade : 层叠 ● ArrangeIcon : 排列图标 ● Minimized All : 极小化所有子窗口 子窗口的创建只需要简单调用窗体的Create方法 FileMan := TFMForm Create(Application)子窗口的标准...

...在文本框中输入什么 窗体标题就同步显示什么 怎么设计啊
1、首先需要选择创建窗体设计按钮,如下图所示。2、创建好一个新窗体后,右键单击窗体左上角选择属性命令,如下图所示。3、接下来需要在右侧的属性表标题处输入测试窗体,如下图所示。4、接下来需要设置好后关闭窗体,如下图所示。5、接下来需要保存窗体设计,如下图所示。6、最后需要修改窗体名称即可...

如何用eclipse打开并运行一个已经写好的java文件?
(1)新建一个项目可以是java project也可以就用project (2)有了工程后直接在默认包下运行java文件复制java文件在src上右击选择Paste(会自动粘刚刚复制的java文件)这样就可以在默认包下编辑运行java文件 (3)打开project explorer

相似回答