📄 mainframe.java
字号:
}else{
int choose = JOptionPane.showConfirmDialog(null,
"确认删除编号为 ' " + selectID + " ' 的记录吗?\n 删除后不可恢复!",
"删除提示: ^_^ 请选择一个选项",
JOptionPane.YES_NO_OPTION);
if (choose == 0) {
xmlConn xml = new xmlConn("Not_Forget", 9);
Object[][] allData = xml.getData();
if (this.xmlUpdate.delData(allData, selectID)) {
this.showAllList();
JOptionPane.showMessageDialog(null, " ^_^ 操作成功!");
}else{
JOptionPane.showMessageDialog(null, "抱歉,删除失败!");
}
}
}
}
/**
* 过滤
* @param e ActionEvent
*/
public void jButton6_actionPerformed(ActionEvent e) {
String selectID = this.list_all.getSelectID();
if (selectID.equals("")) {
JOptionPane.showMessageDialog(null, "抱歉,操作失败!\n 请先选择要过滤的记录!");
} else {
int choose = JOptionPane.showConfirmDialog(null,
"确认将编号为 ' " + selectID + " ' 的备忘录过滤吗?",
"过滤提示: ^_^ 请选择一个选项",
JOptionPane.YES_NO_OPTION);
if (choose == 0) {
xmlConn xml = new xmlConn("Not_Forget", 9);
Object[][] allData = xml.getData();
if (this.xmlUpdate.filtrateMemoire(allData, selectID)) {
this.showAllList();
JOptionPane.showMessageDialog(null, " ^_^ 操作成功!");
} else {
JOptionPane.showMessageDialog(null, "抱歉,操作失败!");
}
}
}
}
/**
* 修改记录
* @param e ActionEvent
*/
public void jButton4_actionPerformed(ActionEvent e) {
try{
Edit_Memoire editMemoire = new Edit_Memoire();
editMemoire.setTitle("勿忘软件 -- 编辑备忘录 -- ^_^");
editMemoire.setSize(500, 300);
editMemoire.setEditValue(this.getAllEditMessage());
//将frame传给Edit_Memoire,供操作完成后使用.
editMemoire.setMainFrame(this);
editMemoire.setLocationRelativeTo(null);
editMemoire.setVisible(true);
}catch(Exception e3){
JOptionPane.showMessageDialog(null,"抱歉,操作失败!\n 请选择要操作的记录进行编辑!");
//this.showAllList();
}
}
//返回当前选中的id对应的所有信息.
public Object[] getAllEditMessage(){
xmlConn xml = new xmlConn("Not_Forget", 9);
String selectID = this.list_all.getSelectID();
//获取所有备忘录信息.
Object[][] memoireData = xml.getData();
//用来存储单个id对应的所有信息.
Object[] allEidtMessage = new Object[9];
/**
* 将id相同的行所有信息取出.
*/
for (int i = 0; i < memoireData.length; i++) {
String thisID = memoireData[i][0].toString().trim();
if (thisID.equals(selectID)) {
for (int j = 0; j < memoireData[i].length; j++) {
allEidtMessage[j] = memoireData[i][j];
}
}
}
return allEidtMessage;
}
//供其它窗体使用.
public Object getMainFrame(){
return this;
}
/**
* 设置面板
* @param e ActionEvent
*/
public void jButton7_actionPerformed(ActionEvent e) {
/*
Memoire_Setting memoire_setting = new Memoire_Setting();
memoire_setting.setLocation(300, 200);
memoire_setting.setSize(400, 300);
memoire_setting.setVisible(true);
*/
}
/**
* 提醒方法
* @param args String[]
*/
//弹出消息
public void showMessageDialog(String Message){
JOptionPane.showMessageDialog(null,Message);
}
//窗口闪烁
public void showFrameFlash(){
}
//弹出窗口.
public void showFrame(){
ShowFrame showFrame = new ShowFrame();
//设置显示内容
showFrame.setFrameTitle("提醒窗口: 第" + this.awokeData[0].toString() +
"条备忘录");
showFrame.setMemoireTitle(this.awokeData[1].toString());
showFrame.setMemoireContent(" " +
this.awokeData[2].toString());
//提供主面板,使其调用内部方法.
showFrame.setMainFrame(this);
//设置id
showFrame.setEditID(this.awokeData[0].toString());
//设置所有数据.
showFrame.setAllData(this.Data);
//设置更改的数据.
showFrame.setEditValue(this.awokeData);
showFrame.setSize(400, 250);
showFrame.setLocationRelativeTo(null);
showFrame.setVisible(true);
}
/**
* 把所有的数据返回.
* @return Object[][]
*/
public Object[][] getAllData(){
return this.Data;
}
/**
* 返回编辑的数据
* @return Object[]
*/
public Object[] getThisMemoireData(){
return this.awokeData;
}
//播放声音
public void playSound(){
}
/**
*得到与当前相比较的数据.
* @return Object[][]
*/
public void setCompareData() {
if(this.isNewMemoire){
//如果新建了数据,则更改记录.
xmlConn getValue = new xmlConn("Not_Forget",9);
this.Data = getValue.getData();
this.getTodayData(this.Data);
this.list_all = new List_All();
this.isNewMemoire = false;
}
}
public Object[][] getCompareData(){
return this.compareDate;
}
/**
* 获取今日的数据.
* @return Object[][]
*/
public void getTodayData(Object[][] allData) {
//获取今日有用的的提醒.
int allDataRowCount = this.Data.length;
int compareRowCount = 0;
int memoireRow = 0;
java.util.Date utildate = new java.util.Date();
String systemDate = utildate.toString().substring(0, 10).trim();
//计算今天要提醒的行数.
for (int i = 0; i < this.Data.length; i++) {
String getDate = this.Data[i][4].toString().substring(0,10);
String isYouxiao = this.Data[i][7].toString();
if(getDate.equals(systemDate)&& isYouxiao.equals("1")){
compareRowCount++;
}
}
this.todayRow = compareRowCount;
//得到行后给compareData分配内存.
Object[][] Memoire = new Object[compareRowCount][9];
for (int i = 0; i < this.Data.length; i++) {
String getDate = this.Data[i][4].toString().substring(0, 10);
String isYouxiao = this.Data[i][7].toString();
//System.out.println(this.Data[i][0]+"getDate :" + getDate + " isYouxiao:" + isYouxiao);
if (getDate.equals(systemDate) && isYouxiao.equals("1")) {
for (int j = 0; j < 9; j++) {
Memoire[memoireRow][j] = this.Data[i][j];
}//else后可计算过期提醒.
memoireRow++;
}
}
this.compareDate = Memoire;
}
/**
* 获取过期数据.
* @return Object[][]
*/
public Object[][] getOverdueData() {
//获取过期提醒.
int allDataRowCount = this.Data.length;
int overdueRowCount = 0;
int memoireRow = 0;
//计算过期提醒的行数.
for (int i = 0; i < this.Data.length; i++) {
String auditing = this.Data[i][8].toString();
String isYouxiao = this.Data[i][7].toString();
if(auditing.equals("0")&& isYouxiao.equals("0")){
overdueRowCount++;
}
}
//得到行后给OverdueData分配内存.
Object[][] OverdueData = new Object[overdueRowCount][9];
for (int i = 0; i < this.Data.length; i++) {
String getDate = this.Data[i][8].toString();
String isYouxiao = this.Data[i][7].toString();
if (getDate.equals("0") && isYouxiao.equals("0")) {
for (int j = 0; j < 9; j++) {
OverdueData[memoireRow][j] = this.Data[i][j];
}
memoireRow++;
}
}
return OverdueData;
}
public Object[] getEditValue(){
Object[] editingMemoire = new Object[9];
for (int i = 0; i < editingMemoire.length; i++) {
if (i == 8 || i == 7) {
editingMemoire[i] = 0;
} else {
editingMemoire[i] = this.awokeData[i];
}
}
return editingMemoire;
}
/**
* 提醒操作.
* @param awokeModel String
*/
public void setAwokeMode(String awokeModel) {
if (awokeModel.equals("默认提醒")) {
this.showMessageDialog(this.awokeData[2].toString());
} else if (awokeModel.equals("弹出窗口")) {
this.showFrame();
} else if (awokeModel.equals("闪烁提醒")) {
this.showFrameFlash();
} else if (awokeModel.equals("播放声音")) {
this.playSound();
}else{
this.showMessageDialog(this.awokeData[2].toString());
}
}
/**
* 当前时间与数组时间相比较.
*/
public void compareTime() {
java.util.Date utildate = new java.util.Date();
String nowTime = utildate.toString().substring(11, 16).trim();
for (int i = 0; i < this.compareDate.length; i++) {
String getTime = this.compareDate[i][4].toString().substring(11, 16).
trim();
String awokeModel = this.compareDate[i][5].toString();
if (nowTime.compareTo(getTime) <= 0) {
if (nowTime.equals(getTime)) {
//提醒.
for (int j = 0; j < this.compareDate[i].length; j++) {
this.awokeData[j] = this.compareDate[i][j];
}
//执行提醒方法.
this.setAwokeMode(awokeModel);
XmlUpdate update = new XmlUpdate();
update.updateData(this.getEditValue(), this.Data,this.awokeData[0].toString());
//告知主窗体已经有数据更改.
this.setisNewMemoire();
}
}
}
}
//线程run方法实现
public void run() {
while(true){
//获取比较的数据.
this.setCompareData();
//与当前时间相比较
this.compareTime();
try {
Thread.currentThread().sleep(1000);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
}
public static void main(String[] args) {
mainFrame mainframe = new mainFrame();
mainframe.setLocation(300, 200);
mainframe.setSize(500, 400);
mainframe.setVisible(true);
Thread notForget = new Thread(mainframe,"Not_Forget");
notForget.start();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -