📄 queryofweek.java
字号:
package P3;
import java.util.*;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.event.*;
import javax.swing.plaf.basic.BasicArrowButton;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableCellRenderer;
import java.awt.*;
import java.awt.event.*;
public class QueryOfWeek extends QueryOfYear{
private BasicArrowButton
left=new BasicArrowButton(BasicArrowButton.WEST),
right=new BasicArrowButton(BasicArrowButton.EAST);
private int mday=0;
private String castToString(Activity act){
StringBuilder sb=new StringBuilder();
sb.append(act.getYear());
sb.append("-");
sb.append(act.getMonth());
sb.append("-");
sb.append(act.getDate());
sb.append(" ");
sb.append(act.getHour());
sb.append(" : ");
sb.append(act.getMinute());
sb.append(" ");
sb.append(act.getTitle());
return sb.toString();
}
public void activitiesList(){
if(activitiesOfYear==null)return;
int days=calendar.get(Calendar.DAY_OF_YEAR);
if(mday==0){
for(int i=0;i<7;i++){
Activities activities=(Activities) activitiesOfYear.get(days+i);
if(activities==null) continue;
for(Map.Entry<Integer,Object> entry:activities.entrySet()){
Activity activity=(Activity) entry.getValue();
String s=castToString(activity);
record.put(s,activity);
lItems.addElement(s);
}
}
}else if(mday<0){
for(int i=0;i<7+mday;i++){
Activities activities=(Activities) activitiesOfYear.get(days-i);
if(activities==null) continue;
for(Map.Entry<Integer,Object> entry:activities.entrySet()){
Activity activity=(Activity) entry.getValue();
String s=castToString(activity);
record.put(s,activity);
lItems.addElement(s);
}
}
calendar.set(Calendar.DAY_OF_WEEK, 1);
activitiesOfYear=(Activities) totalActivities.get(calendar.get(Calendar.YEAR));
if(activitiesOfYear==null)return;
else{
days=calendar.get(Calendar.DAY_OF_YEAR);
for(int i=0;i<-mday;i++){
Activities activities=(Activities) activitiesOfYear.get(days+i);
if(activities==null) continue;
for(Map.Entry<Integer,Object> entry:activities.entrySet()){
Activity activity=(Activity) entry.getValue();
String s=castToString(activity);
record.put(s,activity);
lItems.addElement(s);
}
}
}
}else{
for(int i=0;i<7-mday;i++){
Activities activities=(Activities) activitiesOfYear.get(days+i);
if(activities==null) continue;
for(Map.Entry<Integer,Object> entry:activities.entrySet()){
Activity activity=(Activity) entry.getValue();
String s=castToString(activity);
record.put(s,activity);
lItems.addElement(s);
}
}
activitiesOfYear=(Activities) totalActivities.get(calendar.get(Calendar.YEAR)+1);
if(activitiesOfYear==null)return;
else{
days=1;
for(int i=0;i<mday;i++){
Activities activities=(Activities) activitiesOfYear.get(days++);
if(activities==null) continue;
for(Map.Entry<Integer,Object> entry:activities.entrySet()){
Activity activity=(Activity) entry.getValue();
String s=castToString(activity);
record.put(s,activity);
lItems.addElement(s);
}
}
}
calendar.set(Calendar.YEAR, mday+1);
calendar.set(Calendar.DAY_OF_WEEK, 1);
}
}
public QueryOfWeek(Activities ttActivities){
super(ttActivities);
calendar.set(Calendar.DAY_OF_WEEK,1);
lItems.removeAllElements();
activitiesList();
left.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent actionEvent) {
int day=calendar.get(Calendar.DAY_OF_YEAR);
if(day<=7){
mday=8-day;
}
else{
mday=0;
calendar.set(Calendar.DAY_OF_YEAR, day-7);
}
activitiesOfYear=(Activities) totalActivities.get(calendar.get(Calendar.YEAR));
lItems.removeAllElements();
activitiesList();
}
});
right.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent actionEvent) {
int day=calendar.get(Calendar.DAY_OF_YEAR);
int maxday=calendar.getMaximum(Calendar.YEAR);
if(maxday-day<7){
mday=7-maxday+day;
}
else{
mday=0;
calendar.set(Calendar.DAY_OF_YEAR, day+7);
}
activitiesOfYear=(Activities) totalActivities.get(calendar.get(Calendar.YEAR));
lItems.removeAllElements();
activitiesList();
}
});
JPanel weeksPanel=new JPanel();
weeksPanel.add(left);
weeksPanel.add(right);
timePanel.add(weeksPanel);
}
public static void run(final JFrame f){
SwingUtilities.invokeLater(new Runnable(){
public void run(){
f.setTitle("weekly format");
f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
f.setSize(400, 480);
f.setResizable(false);
f.setVisible(true);
}
});
}
public static void main(String[] args){
DateOrganizerSystem dateOrganizerSystem=new DateOrganizerSystem();
ExecutorService exec=Executors.newCachedThreadPool();
exec.execute(dateOrganizerSystem);
DateOrganizerSystem.run(dateOrganizerSystem);
exec.shutdown();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -