我想在Java中創建一個日曆應用程序,並已成功完成日曆顯示部分。現在,我需要在日曆條目下方顯示假日消息。如何在java中顯示假期?
例如,如果日曆顯示4月份,則顯示「4月1日 - 愚人節」。將會呈現。
有誰能告訴我該怎麼做?這裏是我的代碼:
import java.time.Month;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
public class SwingCalendar extends JFrame {
private JFrame mainFrame;
private JLabel headerLabel;
private JLabel statusLabel;
private JPanel controlPanel;
private JLabel msglabel;
DefaultTableModel model;
Calendar cal = new GregorianCalendar();
JLabel label;
SwingCalendar() {
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("Swing Calandar");
this.setSize(300,200);
this.setLayout(new BorderLayout());
this.setVisible(true);
label = new JLabel();
label.setHorizontalAlignment(SwingConstants.CENTER);
JButton b1 = new JButton("Back");
b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
cal.add(Calendar.MONTH, -1);
updateMonth();
}
});
JButton b2 = new JButton("Next");
b2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
cal.add(Calendar.MONTH, +1);
updateMonth();
}
});
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
panel.add(b1,BorderLayout.WEST);
panel.add(label,BorderLayout.CENTER);
panel.add(b2,BorderLayout.EAST);
String [] columns = {"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
model = new DefaultTableModel(null,columns);
JTable table = new JTable(model);
JScrollPane pane = new JScrollPane(table);
this.add(panel,BorderLayout.NORTH);
this.add(pane,BorderLayout.CENTER);
this.updateMonth();
}
void updateMonth() {
cal.set(Calendar.DAY_OF_MONTH, 1);
String month = cal.getDisplayName(Calendar.MONTH, Calendar.LONG, Locale.US);
int year = cal.get(Calendar.YEAR);
label.setText(month + " " + year);
int startDay = cal.get(Calendar.DAY_OF_WEEK);
int numberOfDays = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
int weeks = cal.getActualMaximum(Calendar.WEEK_OF_MONTH);
model.setRowCount(0);
model.setRowCount(weeks);
int i = startDay-1;
for(int day=1;day<=numberOfDays;day++){
model.setValueAt(day, i/7 , i%7);
i = i + 1;
}
}
public static void main(String[] arguments) {
JFrame.setDefaultLookAndFeelDecorated(true);
SwingCalendar sc = new SwingCalendar();
}
private void showJPanelDemo(){
headerLabel.setText("Container in action: JPanel");
msglabel = new JLabel("Welcome to TutorialsPoint SWING Tutorial.", JLabel.CENTER);
JPanel panel = new JPanel();
panel.setBackground(Color.magenta);
panel.setLayout(new FlowLayout());
panel.add(msglabel);
controlPanel.add(panel);
mainFrame.setVisible(true);
}
}
我猜*媒體是按摩*。 –
我想你會需要一個或多個「事件」模型,其中包含有關事件的信息(如日期/日期,您所需要的任何度量)以及描述 – MadProgrammer
這與Eclipse有什麼關係? – Learner