📄 fengjingrili(正确的).java
字号:
// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3) ansi
// Source File Name: FengJingRiLi.java
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
public class FengJingRiLi extends JFrame implements ActionListener
{
JComboBox Month;
JComboBox tu;
JComboBox Year;
JLabel Year_l;
JLabel tu_l;
JLabel Month_l;
GregorianCalendar now_date;
JButton button_day[];
JButton button_ok;
JButton button_today;
JLabel xday;
int now_year;
int now_month;
int n;
Font myFont;
String year_int;
int month_int;
String names[] = {
"1.jpg", "2.jpg", "3.jpg", "4.jpg", "5.jpg", "6.jpg", "7.jpg", "8.jpg", "9.jpg", "10.jpg",
"11.jpg", "12.jpg", "13.jpg", "14.jpg", "15.jpg", "16.jpg", "17.jpg", "18.jpg", "19.jpg", "20.jpg",
"21.jpg", "22.jpg", "23.jpg", "24.jpg", "25.jpg", "26.jpg", "27.jpg", "28.jpg", "29.jpg", "30.jpg",
"31.jpg"
};
private Icon icons[];
JPanel pane_ym;
JPanel pane_day;
JPanel tm;
JPanel z;
JPanel o;
JPanel p;
JPanel s;
JPanel pane_parent;
public FengJingRiLi()
{
//初始化各个控件
super("风景日历");
Month = new JComboBox();
tu = new JComboBox();
Year = new JComboBox();
Year_l = new JLabel("Year::");
tu_l = new JLabel("pho::");
Month_l = new JLabel("Month::");
now_date = new GregorianCalendar();
button_day = new JButton[49];
button_ok = new JButton("确定");
button_today = new JButton("今天");
xday = new JLabel();
now_year = now_date.get(Calendar.YEAR);
now_month = now_date.get(Calendar.MONTH);
n = now_date.get(Calendar.DAY_OF_MONTH);
myFont = new Font("TimesRoman", 3, 100);
icons=new ImageIcon[names.length];
year_int = null;
// icons = (new Icon[] {
// new ImageIcon(names[0]), new ImageIcon(names[1]), new ImageIcon(names[2]), new ImageIcon(names[3]), new ImageIcon(names[4]), new ImageIcon(names[5]), new ImageIcon(names[6]), new ImageIcon(names[7]), new ImageIcon(names[8]), new ImageIcon(names[9]),
// new ImageIcon(names[10]), new ImageIcon(names[11]), new ImageIcon(names[12]), new ImageIcon(names[13]), new ImageIcon(names[14]), new ImageIcon(names[15]), new ImageIcon(names[16]), new ImageIcon(names[17]), new ImageIcon(names[18]), new ImageIcon(names[19]),
// new ImageIcon(names[20]), new ImageIcon(names[21]), new ImageIcon(names[22]), new ImageIcon(names[23]), new ImageIcon(names[24]), new ImageIcon(names[25]), new ImageIcon(names[26]), new ImageIcon(names[27]), new ImageIcon(names[28]), new ImageIcon(names[29]),
// new ImageIcon(names[30])
// });
for(int i=0;i<names.length;i++){
icons[i]=new ImageIcon(names[i]);
}
pane_ym = new JPanel();
pane_day = new JPanel();
tm = new JPanel();
//z = new JPanel();
o = new JPanel();
p = new JPanel();
s = new JPanel();
pane_parent = new JPanel();
setDefaultCloseOperation(2);
//addWindowListener(new WindowAdapter() {
// public void windowClose(WindowEvent windowevent)
// {
// System.exit(0);
// }
//final FengJingRiLi this$0;
//{
// this$0 = FengJingRiLi.this;
// super();
// }
//}
//);
//设置年组合框中的内容,从1998-2028
for(int i = now_year - 10; i <= now_year + 20; i++)
Year.addItem((new StringBuilder()).append(i).append("").toString());
//设置月份组合框中的内容,1-12
for(int j = 1; j < 13; j++)
Month.addItem((new StringBuilder()).append(j).append("").toString());
//初始化为选中2008年
Year.setSelectedIndex(10);
//设置图片组合框中的内容,将图片的文件名显示出来
for(int k = 1; k < 4; k++)
tu.addItem((new StringBuilder()).append(k).append("").toString());
//将所有的控件按面板组织,添加到窗口中
pane_ym.add(Year_l);
pane_ym.add(Year);
Month.setSelectedIndex(now_month);
pane_ym.add(Month_l);
pane_ym.add(Month);
pane_ym.add(button_ok);
pane_ym.add(button_today);
tu = new JComboBox(names);
tu_l = new JLabel(icons[0]);
xday.setText((new StringBuilder()).append(n).append("").toString());
//当图组合框中的内容变化时,右边标签位置的图片跟着变化
tu.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent itemevent)
{
tu_l.setIcon(icons[tu.getSelectedIndex()]);
}
//final FengJingRiLi this$0;
//{
// this$0 = FengJingRiLi.this;
// super();
//}
}
);
button_ok.addActionListener(this);
button_today.addActionListener(this);
pane_day.setLayout(new GridLayout(7, 7));
for(int l = 0; l < 49; l++)
{
button_day[l] = new JButton(" ");
pane_day.add(button_day[l]);
button_day[l].addActionListener(this);
}
xday.setFont(myFont);
setDay();
o.setLayout(new FlowLayout(3));
pane_parent.setLayout(new BorderLayout());
tm.setLayout(new FlowLayout(3));
p.setLayout(new GridLayout(2, 1));
s.setLayout(new FlowLayout(1));
pane_ym.add(tu);
o.add(p);
o.add(tm);
tm.add(tu_l);
p.add(s);
p.add(pane_parent);
s.add(xday);
setContentPane(pane_day);
setContentPane(pane_ym);
pane_parent.add(pane_day, "South");
pane_parent.add(pane_ym, "North");
setContentPane(o);
o.setBackground(Color.DARK_GRAY);
pack();
setVisible(true);
}
//设置一个月的日历显示
void setDay()
{
year_int = Year.getSelectedItem().toString();
month_int = Month.getSelectedIndex();
int i = Integer.parseInt(year_int) ;
//date代表选定年和选定月份的第一天
GregorianCalendar date = new GregorianCalendar(i, month_int, 1);
GregorianCalendar gregoriancalendar = new GregorianCalendar();
String as[] = {
"Sun", "Mon", "Tue", "Wed", "Thur", "Fri", "Sat"
};
byte byte0 = 0;
int j = 0;
//第一行按钮
for(int k = 0; k < 7; k++)
button_day[k].setText(as[k]);
//month_int == 0 表示一月份有31天,其他类推 ,4,6,8,11月为30天,闰年2月份29天
if(month_int == 0 || month_int == 2 || month_int == 4 || month_int == 6 || month_int == 7 || month_int == 9 || month_int == 11)
byte0 = 31;
else
if(month_int == 3 || month_int == 5 || month_int == 7 || month_int == 10)
byte0 = 30;
else
if(gregoriancalendar.isLeapYear(i))
byte0 = 29;
else
byte0 = 28;
//第一行按钮为sun--sat,所以按钮从第二行算起,要+7 ,Calendar.DAY_OF_WEEK得到当月的第一天是星期几
j = 7 + date.get(Calendar.DAY_OF_WEEK)-1;
int l = 1;
//从第j个按钮开始显示,知道月底,若是星期六和星期天用红色表示,
for(int i1 = j; i1 < j + byte0; i1++)
{
if(i1 % 7 == 0 || i1 == 13 || i1 == 20 || i1 == 27 || i1 == 48 || i1 == 34 || i1 == 41)
{
button_day[i1].setForeground(Color.RED);
button_day[i1].setEnabled(true);
button_day[i1].setText((new StringBuilder()).append(l).append("").toString());
} else
{
button_day[i1].setText((new StringBuilder()).append(l).append("").toString());
button_day[i1].setEnabled(true);
}
l++;
}
/*if(j == 0)
{
for(int j1 = byte0; j1 < 49; j1++)
button_day[j1].setText(" ");
} else*/
//其他按钮显示内容为空
for(int k1 = 7; k1 < j; k1++)
{
button_day[k1].setText(" ");
button_day[k1].setEnabled(false);
}
for(int l1 = j + byte0; l1 < 49; l1++)
{
button_day[l1].setText(" ");
button_day[l1].setEnabled(false);
}
}
public void actionPerformed(ActionEvent actionevent)
{
year_int = Year.getSelectedItem().toString();
month_int = Month.getSelectedIndex();
int i = Integer.parseInt(year_int);
GregorianCalendar date = new GregorianCalendar(i, month_int, 1);
int j = date.get(Calendar.DAY_OF_WEEK)-1;
if(actionevent.getSource() == button_ok)
{
setDay();
} else
{
for(int k = j + 7; k < 49; k++)
if(actionevent.getSource() == button_day[k])
{
int l = j + 6;
int i1 = k - l;
xday.setText((new StringBuilder()).append(i1).append("").toString());
tu_l.setIcon(icons[i1 - 1]);
}
}
if(actionevent.getSource() == button_today)
{
Year.setSelectedIndex(10);
Month.setSelectedIndex(now_month);
setDay();
xday.setText((new StringBuilder()).append(n).append("").toString());
}
}
public static void main(String args[])
{
FengJingRiLi fengjingrili = new FengJingRiLi();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -