?? 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 + -