扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
import java.awt.BorderLayout;
创新互联专业为企业提供丹徒网站建设、丹徒做网站、丹徒网站设计、丹徒网站制作等企业网站建设、网页设计与制作、丹徒企业网站模板建站服务,10余年丹徒做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.io.*;
import java.util.*;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.plaf.OptionPaneUI;
public class Demo {
static boolean isRuning=false;
static boolean isFirst=true;
@SuppressWarnings("unchecked")
public static void main(String[] args) throws Exception {
JFrame form1 = new JFrame("Form1");
JTextField jTextField = new JTextField(10);
jTextField.setSize(10, 10);
jTextField.setText("0");
jTextField.setEditable(false);
JButton jButton = new JButton("开始");
jButton.setSize(10, 10);
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
while (true) {
while(isRuning){
Integer counter = Integer.parseInt(jTextField.getText().trim());
counter++;
jTextField.setText(counter.toString());
try {
Thread.sleep(1000);
} catch (Exception e2) {
}
}
}
}
});
jButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String text=jButton.getText().equals("开始")?"暂停":"开始";
jButton.setText(text);
isRuning=!isRuning;
if(isFirst){
thread.start();
isFirst=false;
}
}
});
JPanel panel = new JPanel();
panel.setSize(200, 200);
panel.add(jTextField, BorderLayout.NORTH);
panel.add(jButton, BorderLayout.CENTER);
form1.add(panel);
form1.setBounds(200, 100, 250, 150);
form1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
form1.addWindowListener(new WindowListener() {
@Override
public void windowOpened(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowIconified(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowDeiconified(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowDeactivated(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowClosing(WindowEvent e) {
// 窗口关闭前取出文本框的数字保存到外部文件,代码在此处写
JOptionPane.showMessageDialog(null, "Are you sure closing?");
}
@Override
public void windowClosed(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowActivated(WindowEvent e) {
// TODO Auto-generated method stub
}
});
form1.setVisible(true);
}
}
html
head
title New Document /title
script
function btn(){
var first = document.getElementById("first").value;
document.getElementById("result").value = eval(first);;
}
/script
/head
body
输入运算公式:input type="text" id="first" /
结果:input type="text" id="result" /
input type="button" value="计算" onclick="btn()" /
/body
/html
1、首先,设置在网页中显示文本的格式,文本的高度为100像素,宽度为280像素。
2、定义显示文本的字体大小为22像素,离左侧和右侧的距离设置为自动,离顶部的距离设置为15像素。
3、用font标签在网页中插入要显示的文本。
4、由于显示的文本内容是动态控制的,所以设置一个标识符poemsi,用来动态表示显示的诗句。
5、然后,在网页中插入一个按钮。
6、按钮的高度为33像素,宽度为100像素,离左侧和右侧的距离为自动,离顶部的距离为20像素。
7、用type属性,定义按钮的类型为button。
8、定义按钮的标签为显示,单击后执行的函数为show。
9、按钮的背景色值为#aaeded,字体大小为20像素。
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Test extends JFrame{
public Test(){
this.setSize(400,300);
this.setLocationRelativeTo(null);//设置居中
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel jp =new JPanel();
final JButton jb1 = new JButton("弹出蓝色");
JButton jb2 = new JButton("弹出青色");
jp.add(jb1);
jp.add(jb2);
//给第一个按钮添加监听
jb1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFrame jf=new JFrame();
JPanel jp=new JPanel();
jf.setSize(200, 200);
jf.add(jp);
jp.setBackground(Color.blue);
jf.setLocationRelativeTo(jb1);
jf.setVisible(true);
}
});
//给第二个按钮添加监听
jb2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFrame jf=new JFrame();
JPanel jp=new JPanel();
jf.setSize(200, 200);
jf.add(jp);
jp.setBackground(Color.cyan);
jf.setLocationRelativeTo(jb1);
jf.setVisible(true);
}
});
this.add(jp);
}
public static void main(String arg[]){
new Test().setVisible(true);
}
}
需要使用HttpSession对象将当前会话过程中的变量的中间结果进行保存;也就是说,每次计算前从HttpSession对象中取出上次的结果并加一,然后将该结果再保存到HttpSession对象中去。代码样例(部分代码,需要嵌入到JSP文件中)如下:
...
HttpSession sess=request.getHttpSession();
String counter=sess.getParameter("COUNTER");
if(counter==null) counter="0";
int value=Integer.parseInt(counter);
value++;
sess.setParameter("COUNTER",""+value);
...
我没有用到题目里给的计算时间差来计算,想不明白有啥用。
另外我就没布局了,随便做了个界面美化你自己想办法吧。
代码为:
import javax.swing.*;
import java.awt.*;
import java.util.Timer;
import java.util.TimerTask;
import static javax.swing.WindowConstants.DISPOSE_ON_CLOSE;
public class T {
private static int click = 0;//点击多少次
private static int time = 60;//剩余多少秒
public static void main(String[] args) {
JFrame jFrame = new JFrame();
//设置默认布局
jFrame.setLayout(new FlowLayout());
//设置窗口的属性 窗口位置以及窗口的大小
jFrame.setBounds(200, 200, 300, 200);
//设置窗口可见
jFrame.setVisible(true);
//设置关闭方式 如果不设置的话 似乎关闭窗口之后不会退出程序
jFrame.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
//得到窗口的容器
Container conn = jFrame.getContentPane();
JLabel jLabel1 = new JLabel("点击次数:" + click + "");
JLabel jLabel2 = new JLabel("剩余时间:" + time + "秒");
JButton jButton = new JButton("点我点我");
jButton.setBounds(50, 50, 100, 20);
jButton.setBackground(Color.CYAN);
Timer timer = new Timer();//利用计时器计时
jButton.addActionListener(e - {//为按钮添加事件
if (time 0) {//剩余时间大于0才触发事件
jLabel1.setText("点击次数:" + ++click);
timer.schedule(new TimerTask() {
@Override
public void run() {
try {
Thread.sleep(1000);
jLabel2.setText("剩余时间:" + --time + "秒");
if (time == 0) {
timer.cancel();//停止计时
}
} catch (InterruptedException e1) {
e1.printStackTrace();
}
}
}, 0);
}
});
conn.add(jLabel1);
conn.add(jButton);
conn.add(jLabel2);
}
}
运行结果:
没开始点的时候:
开始点:
到时间后还是能点,但是点击次数就不会增加了,计时器也停止了。
修改部分代码:
Timer timer = new Timer();//利用计时器计时
final boolean[] onClock = {false};//因为相当于监听事件用了匿名类,这里必须这么写
jButton.addActionListener(e - {//为按钮添加事件
if (!onClock[0]) {//第一次点击时才触发
timer.schedule(new TimerTask() {
@Override
public void run() {
jLabel2.setText("剩余时间:" + --time + "秒");
if (time == 0) {
timer.cancel();//停止计时
}
}
}, 1000, 1000);//延迟1秒,并每隔1秒执行一次
onClock[0] = true;
}
if (time 0) {//剩余时间大于0才触发事件
jLabel1.setText("点击次数:" + ++click);
}
});
这样才正确,确保只启用一个计时器Timer,也只有1个计时器任务TimerTask
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流