package MyGUI;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.text.ParseException;
import java.util.Calendar;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.text.MaskFormatter;
import Awake.dataRefer;
import DBOperate.XMLConn;
import DBOperate.XMLOperate;
import DBOperate.XMLUpdate;
import MyObject.MyDate;
import MyObject.Objects;
public class AddFrame extends JFrame implements ActionListener,ItemListener{
private MyDate today;
private JTextField text_title,text_year,text_month,text_day,text_hour,text_minute,text_week;
private JLabel label_title,label_type,label_content,label_year,label_month,label_day,label_hour,label_minute,label_week;
private JTextArea text_content;
private JComboBox type; //类别组合框
private JButton button_add; //添加添加按钮
private int year,month,day,hour,minute,week,typeNum=1;
private MyDate myDate;
private XMLOperate dop;
private Object[][] data;
private boolean alter=false;
private String id;
boolean flag=true;
boolean f2=true;
public AddFrame(){
super("添加提醒任务");
today=new MyDate();
this.Jnit();
}
public AddFrame(String i){
super("修改提醒任务");
id=i;
this.alter=true;
today=new MyDate();
dop=new XMLOperate("scheme.xml",5);
data=dop.getMemoireData();
Object[] oneData=dop.getData(id);
typeNum=Integer.parseInt(oneData[1].toString().trim());
this.Jnit();
this.text_content.setText(oneData[2].toString().trim());
this.text_title.setText(oneData[3].toString().trim());
type.setSelectedIndex(typeNum-1);
String[] t=new String [5];
int j=0;
Matcher m=Pattern.compile("\\d+").matcher(oneData[4].toString().trim());
while(m.find()){
t[j]=m.group().toString().trim();
j++;
}
if(typeNum!=3){
this.text_year.setText(t[0]);
this.text_month.setText(t[1]);
this.text_day.setText(t[2]);
}
else{
this.text_year.setText(null);
this.text_month.setText(null);
this.text_day.setText(null);
Objects obs=new Objects();
int week=obs.getMyDate(oneData[4].toString()).getWeek();
this.text_week.setText(new Integer(week).toString());
}
this.text_minute.setText(t[4]);
this.text_hour.setText(t[3]);
}
public void Jnit(){
this.setSize(600,320);
this.setResizable(false);
this.setLocation(200,100);
this.setDefaultCloseOperation(HIDE_ON_CLOSE);
this.setLayout(new GridLayout(1,2)); //网格布局,一行两列
JPanel panel1=new JPanel();
JPanel panel2=new JPanel();
panel1.setLayout(null);
panel2.setLayout(null);
label_title=new JLabel("标题");
label_title.setSize(80,20);
try {
text_title=new JFormattedTextField(new MaskFormatter("**********"));
} catch (ParseException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
text_title.setSize(180, 20);
label_title.setLocation(20, 20);
text_title.setLocation(80, 20);
panel1.add(label_title);
panel1.add(text_title);
label_type=new JLabel("提醒类别");
label_type.setSize(80,20);
Object t_data[]={"一次提醒","每天提醒","每周提醒","每年提醒"};
type=new JComboBox(t_data);
type.setSize(100,20);
type.addItemListener(this);
label_type.setLocation(20, 50);
type.setLocation(80,50);
panel1.add(label_type);
panel1.add(type);
label_content=new JLabel("提醒内容");
label_content.setSize(100,20);
text_content=new JTextArea(8,20);
text_content.setSize(250,150);
label_content.setLocation(20,80);
text_content.setLocation(20,110);
text_content.setLineWrap(true);
panel1.add(label_content);
panel1.add(text_content);
this.add(panel1); //占据窗口左半边
label_year=new JLabel("年");
label_year.setSize(100, 20);
label_year.setLocation(20, 20);
label_month=new JLabel("月");
label_month.setSize(100, 20);
label_month.setLocation(20,50);
label_day=new JLabel("日");
label_day.setSize(100, 20);
label_day.setLocation(20, 80);
label_hour=new JLabel("时");
label_hour.setSize(100, 20);
label_hour.setLocation(20, 110);
label_minute=new JLabel("分");
label_minute.setSize(100, 20);
label_minute.setLocation(20, 140);
label_week=new JLabel("星期");
label_week.setSize(100, 20);
label_week.setLocation(20, 170);
try {
text_year=new JFormattedTextField(new MaskFormatter("####"));
text_month=new JFormattedTextField(new MaskFormatter("**"));
text_day=new JFormattedTextField(new MaskFormatter("**"));
text_hour=new JFormattedTextField(new MaskFormatter("**"));
text_minute=new JFormattedTextField(new MaskFormatter("**"));
text_week=new JFormattedTextField(new MaskFormatter("*"));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
text_year.setSize(100, 20);
text_year.setLocation(120,20);
text_month.setSize(100, 20);
text_month.setLocation(120, 50);
text_day.setSize(100, 20);
text_day.setLocation(120, 80);
text_hour.setSize(100, 20);
text_hour.setLocation(120, 110);
text_minute.setSize(100, 20);
text_minute.setLocation(120, 140);
text_week.setSize(100, 20);
text_week.setLocation(120, 170);
panel2.add(label_year);
panel2.add(label_month);
panel2.add(label_day);
panel2.add(label_hour);
panel2.add(label_minute);
panel2.add(label_week);
panel2.add(text_year);
panel2.add(text_month);
panel2.add(text_day);
panel2.add(text_hour);
panel2.add(text_minute);
panel2.add(text_week);
button_add=new JButton("确认添加");
button_add.setSize(100,20);
button_add.addActionListener(this);
button_add.setLocation(150,210);
panel2.add(button_add);
panel2.setVisible(true);
this.add(panel2); //占据窗口右半边
this.time_new();
this.setVisible(true);
}
//初始化时间文本框
public void time_new(){
text_year.setText(String.valueOf(today.getYear()));
text_month.setText(String.valueOf(today.getMonth()));
text_day.setText(String.valueOf(today.getDay()));
text_year.setEditable(true);
text_month.setEditable(true);
text_day.setEditable(true);
text_hour.setText("");
text_hour.setEditable(true);
text_minute.setText("");
text_minute.setEditable(true);
text_week.setText("");
text_week.setEditable(false);
}
//判断输入的是否是数字
public int isInt(JTextField input){
try{
return Integer.parseInt(input.getText());
}catch(Exception e){
return -1;
}
}
//限制文本框输入长度
@Override
public void actionPerformed(ActionEvent e) {
//System.out.println("我被点击了!!");
//连接xml数据
System.out.println(text_year.getText().toString()+"年"+text_month.getText().toString()+"月"+text_day.getText().toString()+"天"+text_hour.getText().toString()+"时"+text_minute.getText().toString()+"分");
dop=new XMLOperate("scheme.xml",5);
data=dop.getMemoireData();
if(text_content.getText().length()>150){
JOptionPane.showMessageDialog(null,"内容太长!不要超过150字!");
flag=false;
}
if("".equals(text_title.getText())){
JOptionPane.showMessageDialog(null,"标题不能为空!");
flag=false;
}
if("".equals(text_content.getText())){
JOptionPane.showMessageDialog(null,"内容不能为空!");
flag=false;
}
if(typeNum!=3){
try{
java桌面提醒程序源码
5星 · 超过95%的资源 需积分: 9 43 浏览量
2009-08-12
16:59:49
上传
评论
收藏 66KB RAR 举报
zxinger
- 粉丝: 0
- 资源: 1
最新资源
- 最全空间计量实证方法(空间杜宾模型和检验以及结果解释文档).txt
- 5uonly.apk
- 蓝桥杯Python组的历年真题
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
- 林周瑜-论文.docx
- 基于MIC+NE555光敏电阻的声光控电路Multisim仿真原理图
- 基于JSP毕业设计-基于WEB操作系统课程教学网站的设计与实现(源代码+论文).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
前往页