From 30274563745ba8907c63070f05dcaf81be3ab8e8 Mon Sep 17 00:00:00 2001 From: luwei <1904915962@qq.com> Date: Sun, 8 May 2022 17:55:44 +0800 Subject: [PATCH 01/13] =?UTF-8?q?=E5=9F=BA=E6=9C=AC=E7=9A=84=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E5=B8=83=E5=B1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/Test.java | 7 -- src/java2022spring/mycalendar.java | 117 +++++++++++++++++++++++++++++ 2 files changed, 117 insertions(+), 7 deletions(-) delete mode 100644 src/java2022spring/Test.java create mode 100644 src/java2022spring/mycalendar.java diff --git a/src/java2022spring/Test.java b/src/java2022spring/Test.java deleted file mode 100644 index 24deb29..0000000 --- a/src/java2022spring/Test.java +++ /dev/null @@ -1,7 +0,0 @@ -package java2022spring; - -public class Test { - public static void main(String[] args) { - System.out.println("Hello world!"); - } -} diff --git a/src/java2022spring/mycalendar.java b/src/java2022spring/mycalendar.java new file mode 100644 index 0000000..16cf064 --- /dev/null +++ b/src/java2022spring/mycalendar.java @@ -0,0 +1,117 @@ +package java2022spring; + +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.FlowLayout; + +import javax.swing.JButton; +import javax.swing.JComboBox; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.JMenuItem; +import javax.swing.JPanel; +import javax.swing.JTextField; + + +public class mycalendar extends JFrame { + //容器组件 + JPanel head=new JPanel(); + JPanel body=new JPanel(); + JPanel foot=new JPanel(); + //菜单栏 + JMenuBar bar; + JMenu childmenu; + JMenu setThemeMenu; + JMenuItem[] colors=new JMenuItem[12]; + String[] allcolor={"红色","黄色","绿色","白色","紫色","橙色","蓝色","灰色","随机色"}; + //head相关 + Number[] month= {1,2,3,4,5,6,7,8,9,10,11,12}; + JLabel jlb,jlb2; + JComboBox jcb; + JTextField textField; + + mycalendar(){ + //窗口的初始化设置 + setTitle("我的日历"); + setSize(500,400); + setLocationRelativeTo(null);//使窗口居中 + setResizable(false);//不能调整大小 + setDefaultCloseOperation(EXIT_ON_CLOSE); + //菜单栏 + bar=new JMenuBar(); + childmenu=new JMenu("设置"); + setThemeMenu=new JMenu("更换主题"); + bar.add(childmenu); + childmenu.add(setThemeMenu); + for(int i=0;i<9;i++) { + colors[i]=new JMenuItem(allcolor[i]); + setThemeMenu.add(colors[i]); + } + setJMenuBar(bar); + + //顶部容器 + head.setBackground(new Color(245,222,179)); + head.setLayout(new FlowLayout()); + + JButton searchJButton=new JButton("查询"); + searchJButton.setForeground(new Color(245,245,245)); + searchJButton.setBackground(new Color(255,140,111)); + searchJButton.setBorder(null); + searchJButton.setPreferredSize(new Dimension(50,30)); + + JButton upJButton=new JButton("上月"); + upJButton.setForeground(new Color(245,245,245)); + upJButton.setBackground(new Color(105,105,105)); + upJButton.setBorder(null); + upJButton.setPreferredSize(new Dimension(50,30)); + + JButton downJButton=new JButton("下月"); + downJButton.setForeground(new Color(245,245,245)); + downJButton.setBackground(new Color(105,105,105)); + downJButton.setBorder(null); + downJButton.setPreferredSize(new Dimension(50,30)); + + jlb2=new JLabel("年份:"); + textField = new JTextField(5); + + jlb = new JLabel("月份:"); + jcb=new JComboBox(month); + + head.add(jlb2); + head.add(textField); + head.add(jlb); + head.add(jcb); + head.add(searchJButton); + head.add(upJButton); + head.add(downJButton); + + + //底部容器 + foot.setSize(new Dimension(500,200)); + foot.setBackground(new Color(220,220,220)); + foot.setLayout(new FlowLayout(FlowLayout.CENTER)); + + + this.getContentPane().add(head,BorderLayout.NORTH); + this.getContentPane().add(foot,BorderLayout.SOUTH); + + + } + + + + + + public static void main(String[] args) { + JFrame jframe=new mycalendar(); + jframe.getContentPane().setBackground(Color.pink); + jframe.setVisible(true); + + + + } + +} -- Gitee From dcad1b044138e4554172e8aab200cd737af09233 Mon Sep 17 00:00:00 2001 From: luwei <1904915962@qq.com> Date: Mon, 9 May 2022 20:33:12 +0800 Subject: [PATCH 02/13] =?UTF-8?q?=E5=AE=8C=E5=96=84=E4=BA=86=E6=97=A5?= =?UTF-8?q?=E5=8E=86=E7=BB=93=E6=9E=84=EF=BC=8C=E7=9B=91=E5=90=AC=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6=E7=9A=84=E4=B8=80=E9=83=A8=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .classpath | 6 +- src/java2022spring/mycalendar.java | 122 +++++++++++++++++++++++++---- 2 files changed, 107 insertions(+), 21 deletions(-) diff --git a/.classpath b/.classpath index ac9ce57..d171cd4 100644 --- a/.classpath +++ b/.classpath @@ -1,10 +1,6 @@ - - - - - + diff --git a/src/java2022spring/mycalendar.java b/src/java2022spring/mycalendar.java index 16cf064..b33a89a 100644 --- a/src/java2022spring/mycalendar.java +++ b/src/java2022spring/mycalendar.java @@ -4,6 +4,14 @@ import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; +import java.awt.GridLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.time.*; + +import java.util.Arrays; +import java.util.Calendar; +import java.util.Date; import javax.swing.JButton; import javax.swing.JComboBox; @@ -14,9 +22,9 @@ import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JTextField; +import java.awt.event.ActionEvent; - -public class mycalendar extends JFrame { +public class mycalendar extends JFrame implements ActionListener{ //容器组件 JPanel head=new JPanel(); JPanel body=new JPanel(); @@ -32,15 +40,24 @@ public class mycalendar extends JFrame { JLabel jlb,jlb2; JComboBox jcb; JTextField textField; - + //body相关 + JLabel[] titleDay=new JLabel[7]; + String[] days= {"日","一","二","三","四","五","六"}; + JLabel[] labelDay=new JLabel[42]; + //日期相关 + LocalDate nowDate ; + int year; + int nowMonth; + Date date; + Calendar calendar; mycalendar(){ - //窗口的初始化设置 + //窗口的初始化设置----------------------------------------- setTitle("我的日历"); setSize(500,400); setLocationRelativeTo(null);//使窗口居中 setResizable(false);//不能调整大小 setDefaultCloseOperation(EXIT_ON_CLOSE); - //菜单栏 + //菜单栏--------------------------------------------------- bar=new JMenuBar(); childmenu=new JMenu("设置"); setThemeMenu=new JMenu("更换主题"); @@ -52,7 +69,7 @@ public class mycalendar extends JFrame { } setJMenuBar(bar); - //顶部容器 + //顶部容器--------------------------------------------------- head.setBackground(new Color(245,222,179)); head.setLayout(new FlowLayout()); @@ -67,18 +84,21 @@ public class mycalendar extends JFrame { upJButton.setBackground(new Color(105,105,105)); upJButton.setBorder(null); upJButton.setPreferredSize(new Dimension(50,30)); + + upJButton.addActionListener(this);//对上月按钮进行监听 JButton downJButton=new JButton("下月"); downJButton.setForeground(new Color(245,245,245)); downJButton.setBackground(new Color(105,105,105)); downJButton.setBorder(null); downJButton.setPreferredSize(new Dimension(50,30)); + downJButton.addActionListener(this); jlb2=new JLabel("年份:"); textField = new JTextField(5); jlb = new JLabel("月份:"); - jcb=new JComboBox(month); + jcb=new JComboBox(month); head.add(jlb2); head.add(textField); @@ -89,29 +109,99 @@ public class mycalendar extends JFrame { head.add(downJButton); - //底部容器 + //底部容器------------------------------------------------------ foot.setSize(new Dimension(500,200)); foot.setBackground(new Color(220,220,220)); foot.setLayout(new FlowLayout(FlowLayout.CENTER)); - + //中部容器-------------------------------------------------------- + body.setSize(new Dimension(500,400)); + body.setBackground(new Color(222,133,255)); + body.setLayout(new GridLayout(7,7)); + for(int i=0;i<7;i++) { + titleDay[i]=new JLabel(days[i],JLabel.CENTER); + body.add(titleDay[i]); + } + for(int i=0;i<42;i++) { + labelDay[i]=new JLabel("",JLabel.CENTER); + body.add(labelDay[i]); + } + //添加容器 this.getContentPane().add(head,BorderLayout.NORTH); + this.getContentPane().add(body,BorderLayout.CENTER); this.getContentPane().add(foot,BorderLayout.SOUTH); - + //得到年月[疑问:为什么java.time包的Month类使用会报错] + nowDate = LocalDate.now(); + year = nowDate.getYear(); + nowMonth = nowDate.getMonthValue(); + // + date=new Date(); + calendar = Calendar.getInstance(); + calendar.setTime(date); + this.initDate(); + } + + //返回每月多少天 + + int getMonthDay(int year, int month) { + int day=0; + int[] smallMonth= {4,6,9,11}; + int[] bigMonth= {1,3,5,7,8,10,12}; + //判断大月份 + if(Arrays.binarySearch(bigMonth, month)>=0) day=31; + //判断小月 + if(Arrays.binarySearch(smallMonth, month)>=0) day=30; + //判断平年与闰年 + if(month==2) + { + if(((year%4==0)&&(year%100!=0))||(year%400==0)) day=29; + else day=28; + } + return day; + } + + + //实现页面结构 + void initDate() { + calendar.set(Calendar.DAY_OF_MONTH, 1);//通过本月的第一天是星期几 + int numberOfDays=getMonthDay(year,nowMonth); + for(int i=calendar.get(Calendar.DAY_OF_WEEK)-1,b=1;b<=numberOfDays;b++,i++) { + labelDay[i].setText(Integer.toString(b)); + } + } + + //自身函数作为监听器 + @Override + public void actionPerformed(ActionEvent e) { + for(JLabel item: labelDay) item.setText(""); + if(e.getActionCommand()=="上月") { + if(nowMonth==1) { + year-=1; + nowMonth=12; + }else { + nowMonth-=1; + } + calendar.add(Calendar.MONTH,-1); + } + if(e.getActionCommand()=="下月") { + if(nowMonth==12) { + year+=1; + nowMonth=1; + }else { + nowMonth+=1; + } + calendar.add(Calendar.MONTH,1); + } + initDate(); } - - - public static void main(String[] args) { JFrame jframe=new mycalendar(); jframe.getContentPane().setBackground(Color.pink); jframe.setVisible(true); - - - } + } -- Gitee From 0749dc4700fc5ef847367fc57008e987e0fedc41 Mon Sep 17 00:00:00 2001 From: luwei <1904915962@qq.com> Date: Tue, 10 May 2022 11:54:35 +0800 Subject: [PATCH 03/13] =?UTF-8?q?=E7=BE=8E=E8=A7=82=E7=95=8C=E9=9D=A2?= =?UTF-8?q?=EF=BC=8C=E6=94=B9=E5=8F=98=E9=A2=9C=E8=89=B2=EF=BC=8C=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=BA=95=E9=83=A8=E5=AE=B9=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/mycalendar.java | 78 ++++++++++++++++++++---------- 1 file changed, 53 insertions(+), 25 deletions(-) diff --git a/src/java2022spring/mycalendar.java b/src/java2022spring/mycalendar.java index b33a89a..f8bf39f 100644 --- a/src/java2022spring/mycalendar.java +++ b/src/java2022spring/mycalendar.java @@ -4,6 +4,7 @@ import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; +import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; @@ -48,14 +49,24 @@ public class mycalendar extends JFrame implements ActionListener{ LocalDate nowDate ; int year; int nowMonth; + int DayOfMonth; Date date; Calendar calendar; + //底部相关 + JLabel dateMsg; mycalendar(){ + Font font=new Font("微软雅黑",Font.PLAIN,16); + Font font1=new Font("微软雅黑",Font.PLAIN,14); + //得到年月[疑问:为什么java.time包的Month类使用会报错] + nowDate = LocalDate.now(); + year = nowDate.getYear(); + nowMonth = nowDate.getMonthValue(); + DayOfMonth=nowDate.getDayOfMonth(); //窗口的初始化设置----------------------------------------- setTitle("我的日历"); setSize(500,400); setLocationRelativeTo(null);//使窗口居中 - setResizable(false);//不能调整大小 +// setResizable(false);//不能调整大小 setDefaultCloseOperation(EXIT_ON_CLOSE); //菜单栏--------------------------------------------------- bar=new JMenuBar(); @@ -70,12 +81,12 @@ public class mycalendar extends JFrame implements ActionListener{ setJMenuBar(bar); //顶部容器--------------------------------------------------- - head.setBackground(new Color(245,222,179)); + head.setBackground(new Color(133,109,114)); head.setLayout(new FlowLayout()); JButton searchJButton=new JButton("查询"); searchJButton.setForeground(new Color(245,245,245)); - searchJButton.setBackground(new Color(255,140,111)); + searchJButton.setBackground(new Color(105,105,105)); searchJButton.setBorder(null); searchJButton.setPreferredSize(new Dimension(50,30)); @@ -94,11 +105,14 @@ public class mycalendar extends JFrame implements ActionListener{ downJButton.setPreferredSize(new Dimension(50,30)); downJButton.addActionListener(this); - jlb2=new JLabel("年份:"); + jlb2=new JLabel("年份: "); + jlb2.setForeground(new Color(245,245,245)); textField = new JTextField(5); - jlb = new JLabel("月份:"); + jlb = new JLabel("月份: "); + jlb.setForeground(new Color(245,245,245)); jcb=new JComboBox(month); + jcb.setBackground(new Color(245,245,245)); head.add(jlb2); head.add(textField); @@ -110,31 +124,38 @@ public class mycalendar extends JFrame implements ActionListener{ //底部容器------------------------------------------------------ - foot.setSize(new Dimension(500,200)); - foot.setBackground(new Color(220,220,220)); + foot.setSize(500, 100); + foot.setBackground(new Color(54,40,43)); foot.setLayout(new FlowLayout(FlowLayout.CENTER)); + dateMsg=new JLabel(); + dateMsg.setForeground(new Color(249,244,220)); + dateMsg.setFont(font); + setDateMsg(); + foot.add(dateMsg); //中部容器-------------------------------------------------------- - body.setSize(new Dimension(500,400)); - body.setBackground(new Color(222,133,255)); + body.setSize(new Dimension(500,300)); + body.setBackground(new Color(230,210,213)); body.setLayout(new GridLayout(7,7)); + + for(int i=0;i<7;i++) { titleDay[i]=new JLabel(days[i],JLabel.CENTER); + titleDay[i].setForeground(new Color(48,22,28)); + titleDay[i].setFont(font); body.add(titleDay[i]); } for(int i=0;i<42;i++) { labelDay[i]=new JLabel("",JLabel.CENTER); + labelDay[i].setForeground(new Color(48,22,28)); + labelDay[i].setFont(font1); body.add(labelDay[i]); } //添加容器 this.getContentPane().add(head,BorderLayout.NORTH); this.getContentPane().add(body,BorderLayout.CENTER); this.getContentPane().add(foot,BorderLayout.SOUTH); - - //得到年月[疑问:为什么java.time包的Month类使用会报错] - nowDate = LocalDate.now(); - year = nowDate.getYear(); - nowMonth = nowDate.getMonthValue(); + // date=new Date(); calendar = Calendar.getInstance(); @@ -142,6 +163,12 @@ public class mycalendar extends JFrame implements ActionListener{ this.initDate(); } + + //设置月份信息 + private void setDateMsg() { + dateMsg.setText(year+"年"+nowMonth+"月"); + } + //返回每月多少天 int getMonthDay(int year, int month) { @@ -168,11 +195,13 @@ public class mycalendar extends JFrame implements ActionListener{ int numberOfDays=getMonthDay(year,nowMonth); for(int i=calendar.get(Calendar.DAY_OF_WEEK)-1,b=1;b<=numberOfDays;b++,i++) { labelDay[i].setText(Integer.toString(b)); + if(DayOfMonth==b) { + } } - } - - //自身函数作为监听器 - @Override + + } + //自身函数作为监听器 + @Override public void actionPerformed(ActionEvent e) { for(JLabel item: labelDay) item.setText(""); if(e.getActionCommand()=="上月") { @@ -195,13 +224,12 @@ public class mycalendar extends JFrame implements ActionListener{ } initDate(); } - - - public static void main(String[] args) { - JFrame jframe=new mycalendar(); - jframe.getContentPane().setBackground(Color.pink); - jframe.setVisible(true); - } + public static void main(String[] args) { + JFrame jframe=new mycalendar(); + jframe.setVisible(true); + } + + } -- Gitee From fbda8a8da3c9fa91a47aadc4fcc652dc95e5a016 Mon Sep 17 00:00:00 2001 From: luwei <1904915962@qq.com> Date: Tue, 10 May 2022 13:52:55 +0800 Subject: [PATCH 04/13] =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E7=9B=91=E5=90=AC=EF=BC=8C=E5=B0=8F=E6=97=A5=E5=8E=86=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E5=B7=B2=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/mycalendar.java | 80 ++++++++++++++++++++++++++---- 1 file changed, 69 insertions(+), 11 deletions(-) diff --git a/src/java2022spring/mycalendar.java b/src/java2022spring/mycalendar.java index f8bf39f..db4ce3a 100644 --- a/src/java2022spring/mycalendar.java +++ b/src/java2022spring/mycalendar.java @@ -21,6 +21,7 @@ import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; +import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; import java.awt.event.ActionEvent; @@ -45,7 +46,7 @@ public class mycalendar extends JFrame implements ActionListener{ JLabel[] titleDay=new JLabel[7]; String[] days= {"日","一","二","三","四","五","六"}; JLabel[] labelDay=new JLabel[42]; - //日期相关 + //日期相关,保存年,月信息 LocalDate nowDate ; int year; int nowMonth; @@ -66,7 +67,6 @@ public class mycalendar extends JFrame implements ActionListener{ setTitle("我的日历"); setSize(500,400); setLocationRelativeTo(null);//使窗口居中 -// setResizable(false);//不能调整大小 setDefaultCloseOperation(EXIT_ON_CLOSE); //菜单栏--------------------------------------------------- bar=new JMenuBar(); @@ -76,6 +76,7 @@ public class mycalendar extends JFrame implements ActionListener{ childmenu.add(setThemeMenu); for(int i=0;i<9;i++) { colors[i]=new JMenuItem(allcolor[i]); + colors[i].addActionListener(new MenuListener()); setThemeMenu.add(colors[i]); } setJMenuBar(bar); @@ -89,13 +90,13 @@ public class mycalendar extends JFrame implements ActionListener{ searchJButton.setBackground(new Color(105,105,105)); searchJButton.setBorder(null); searchJButton.setPreferredSize(new Dimension(50,30)); + searchJButton.addActionListener(this); JButton upJButton=new JButton("上月"); upJButton.setForeground(new Color(245,245,245)); upJButton.setBackground(new Color(105,105,105)); upJButton.setBorder(null); upJButton.setPreferredSize(new Dimension(50,30)); - upJButton.addActionListener(this);//对上月按钮进行监听 JButton downJButton=new JButton("下月"); @@ -122,7 +123,6 @@ public class mycalendar extends JFrame implements ActionListener{ head.add(upJButton); head.add(downJButton); - //底部容器------------------------------------------------------ foot.setSize(500, 100); foot.setBackground(new Color(54,40,43)); @@ -130,12 +130,12 @@ public class mycalendar extends JFrame implements ActionListener{ dateMsg=new JLabel(); dateMsg.setForeground(new Color(249,244,220)); dateMsg.setFont(font); - setDateMsg(); + foot.add(dateMsg); //中部容器-------------------------------------------------------- body.setSize(new Dimension(500,300)); - body.setBackground(new Color(230,210,213)); + body.setBackground(new Color(218,210,213)); body.setLayout(new GridLayout(7,7)); @@ -160,18 +160,23 @@ public class mycalendar extends JFrame implements ActionListener{ date=new Date(); calendar = Calendar.getInstance(); calendar.setTime(date); + //初始化界面 this.initDate(); + setDateMsg(); } //设置月份信息 + //设置底部日期的信息 private void setDateMsg() { dateMsg.setText(year+"年"+nowMonth+"月"); } + + //获取每个月有多少天 //返回每月多少天 - int getMonthDay(int year, int month) { + private int getMonthDay(int year, int month) { int day=0; int[] smallMonth= {4,6,9,11}; int[] bigMonth= {1,3,5,7,8,10,12}; @@ -189,8 +194,9 @@ public class mycalendar extends JFrame implements ActionListener{ } + //界面内容布局 //实现页面结构 - void initDate() { + private void initDate() { calendar.set(Calendar.DAY_OF_MONTH, 1);//通过本月的第一天是星期几 int numberOfDays=getMonthDay(year,nowMonth); for(int i=calendar.get(Calendar.DAY_OF_WEEK)-1,b=1;b<=numberOfDays;b++,i++) { @@ -198,12 +204,14 @@ public class mycalendar extends JFrame implements ActionListener{ if(DayOfMonth==b) { } } - + } //自身函数作为监听器 + + //触发按钮事件的操作 @Override public void actionPerformed(ActionEvent e) { - for(JLabel item: labelDay) item.setText(""); + for(JLabel item: labelDay) item.setText("");//清除已有的数据 if(e.getActionCommand()=="上月") { if(nowMonth==1) { year-=1; @@ -222,10 +230,60 @@ public class mycalendar extends JFrame implements ActionListener{ } calendar.add(Calendar.MONTH,1); } + if(e.getActionCommand()=="查询") { + try { + String input=this.textField.getText(); + year=Integer.parseInt(input); + int selectedMonth=this.jcb.getSelectedIndex()+1; + nowMonth=selectedMonth; + calendar.set(year, nowMonth,1); + }catch(Exception exp) { + JOptionPane.showConfirmDialog(null, "请输入正确年份", "输入错误", JOptionPane.OK_CANCEL_OPTION ); + textField.setText(""); + } + } + //重新初始化界面 initDate(); + setDateMsg(); } + + + private void setTheme(String theme) { + Color color1,color2,color3; + switch(theme){ + //[这里没有设置很多颜色] + case "蓝色":{ + color1=new Color(73,92,105);//底 + color2=new Color(93,121,135);//顶 + color3=new Color(116,120,122);//中 + break; + } + case "绿色":{ + color1=new Color(72,91,77);//底 + color2=new Color(110,139,116);//顶 + color3=new Color(146,179,165);//中 + break; + } + default:{ + color1=new Color(54,40,43);//底 + color2=new Color(133,109,114);//顶 + color3=new Color(218,210,213);//中 + } + } + head.setBackground(color2); + body.setBackground(color3); + foot.setBackground(color1); + } + + //这个监听器用来监听菜单选项 + class MenuListener implements ActionListener{ + public void actionPerformed(ActionEvent e){ + setTheme(e.getActionCommand()); + } + } + //主函数 - public static void main(String[] args) { + public static void main(String[] args) { JFrame jframe=new mycalendar(); jframe.setVisible(true); } -- Gitee From b6f362c71c2b52f10caa4ce9fd50775281cf73c5 Mon Sep 17 00:00:00 2001 From: luwei <1904915962@qq.com> Date: Tue, 10 May 2022 16:17:46 +0800 Subject: [PATCH 05/13] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=B0=8F=E9=94=99?= =?UTF-8?q?=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/mycalendar.java | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/src/java2022spring/mycalendar.java b/src/java2022spring/mycalendar.java index db4ce3a..4baa01d 100644 --- a/src/java2022spring/mycalendar.java +++ b/src/java2022spring/mycalendar.java @@ -166,16 +166,13 @@ public class mycalendar extends JFrame implements ActionListener{ } - //设置月份信息 + //设置底部日期的信息 private void setDateMsg() { dateMsg.setText(year+"年"+nowMonth+"月"); } //获取每个月有多少天 - - //返回每月多少天 - private int getMonthDay(int year, int month) { int day=0; int[] smallMonth= {4,6,9,11}; @@ -206,7 +203,7 @@ public class mycalendar extends JFrame implements ActionListener{ } } - //自身函数作为监听器 + //触发按钮事件的操作 @Override @@ -282,12 +279,8 @@ public class mycalendar extends JFrame implements ActionListener{ } } //主函数 - public static void main(String[] args) { JFrame jframe=new mycalendar(); jframe.setVisible(true); } - - - } -- Gitee From 36f26d9b1f61c4ad9997e75f9738292c8105272f Mon Sep 17 00:00:00 2001 From: luwei <1904915962@qq.com> Date: Wed, 11 May 2022 10:30:24 +0800 Subject: [PATCH 06/13] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=9B=9E=E5=88=B0?= =?UTF-8?q?=E4=BB=8A=E5=A4=A9=E6=8C=89=E9=92=AE=EF=BC=8C=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E5=BD=93=E5=89=8D=E6=97=A5=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/mycalendar.java | 45 +++++++++++++++++++++++++----- 1 file changed, 38 insertions(+), 7 deletions(-) diff --git a/src/java2022spring/mycalendar.java b/src/java2022spring/mycalendar.java index 4baa01d..7cc6361 100644 --- a/src/java2022spring/mycalendar.java +++ b/src/java2022spring/mycalendar.java @@ -14,6 +14,7 @@ import java.util.Arrays; import java.util.Calendar; import java.util.Date; +import javax.swing.BorderFactory; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFrame; @@ -24,6 +25,8 @@ import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; +import javax.swing.border.Border; + import java.awt.event.ActionEvent; public class mycalendar extends JFrame implements ActionListener{ @@ -55,14 +58,22 @@ public class mycalendar extends JFrame implements ActionListener{ Calendar calendar; //底部相关 JLabel dateMsg; + //保存当前年、月信息 + int reMonth; + int reYear; + //字体样式 + Font font1; + Font font; mycalendar(){ - Font font=new Font("微软雅黑",Font.PLAIN,16); - Font font1=new Font("微软雅黑",Font.PLAIN,14); + font=new Font("微软雅黑",Font.PLAIN,16); + font1=new Font("微软雅黑",Font.PLAIN,14); //得到年月[疑问:为什么java.time包的Month类使用会报错] nowDate = LocalDate.now(); year = nowDate.getYear(); nowMonth = nowDate.getMonthValue(); DayOfMonth=nowDate.getDayOfMonth(); + reMonth=nowMonth; + reYear=year; //窗口的初始化设置----------------------------------------- setTitle("我的日历"); setSize(500,400); @@ -106,6 +117,13 @@ public class mycalendar extends JFrame implements ActionListener{ downJButton.setPreferredSize(new Dimension(50,30)); downJButton.addActionListener(this); + JButton returnJButton=new JButton("回到今天"); + returnJButton.setForeground(new Color(245,245,245)); + returnJButton.setBackground(new Color(105,105,105)); + returnJButton.setBorder(null); + returnJButton.setPreferredSize(new Dimension(65,30)); + returnJButton.addActionListener(this); + jlb2=new JLabel("年份: "); jlb2.setForeground(new Color(245,245,245)); textField = new JTextField(5); @@ -122,6 +140,7 @@ public class mycalendar extends JFrame implements ActionListener{ head.add(searchJButton); head.add(upJButton); head.add(downJButton); + head.add(returnJButton); //底部容器------------------------------------------------------ foot.setSize(500, 100); @@ -147,8 +166,6 @@ public class mycalendar extends JFrame implements ActionListener{ } for(int i=0;i<42;i++) { labelDay[i]=new JLabel("",JLabel.CENTER); - labelDay[i].setForeground(new Color(48,22,28)); - labelDay[i].setFont(font1); body.add(labelDay[i]); } //添加容器 @@ -198,7 +215,15 @@ public class mycalendar extends JFrame implements ActionListener{ int numberOfDays=getMonthDay(year,nowMonth); for(int i=calendar.get(Calendar.DAY_OF_WEEK)-1,b=1;b<=numberOfDays;b++,i++) { labelDay[i].setText(Integer.toString(b)); - if(DayOfMonth==b) { + if(DayOfMonth==b && year==reYear && nowMonth==reMonth) {//当前日期强调样式 + labelDay[i].setFont(new Font("微软雅黑",Font.BOLD,16)); + labelDay[i].setForeground(new Color(71,81,100)); + labelDay[i].setBorder(BorderFactory.createLineBorder(Color.black)); + }else { + //设置非当前日期样式 + labelDay[i].setFont(font1); + labelDay[i].setForeground(new Color(48,22,28)); + labelDay[i].setBorder(null); } } @@ -208,7 +233,7 @@ public class mycalendar extends JFrame implements ActionListener{ //触发按钮事件的操作 @Override public void actionPerformed(ActionEvent e) { - for(JLabel item: labelDay) item.setText("");//清除已有的数据 + for(JLabel item: labelDay) item.setText("");//清除已有的界面日期数据 if(e.getActionCommand()=="上月") { if(nowMonth==1) { year-=1; @@ -239,12 +264,18 @@ public class mycalendar extends JFrame implements ActionListener{ textField.setText(""); } } + if(e.getActionCommand()=="回到今天") { + nowMonth=reMonth; + year=reYear; + calendar.setTime(date); + + } //重新初始化界面 initDate(); setDateMsg(); } - + //设置主题颜色 private void setTheme(String theme) { Color color1,color2,color3; switch(theme){ -- Gitee From ca8dacb60eef3e4208558d473757b2a90196db2b Mon Sep 17 00:00:00 2001 From: luwei <1904915962@qq.com> Date: Thu, 12 May 2022 10:41:34 +0800 Subject: [PATCH 07/13] =?UTF-8?q?=E6=9C=80=E7=BB=88=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- readme.md | 4 ++-- src/java2022spring/mycalendar.java | 15 +++++++++------ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/readme.md b/readme.md index 4af16ad..cef485b 100644 --- a/readme.md +++ b/readme.md @@ -1,2 +1,2 @@ -# 科学计算器 -0103 张三 \ No newline at end of file +杩欐槸涓涓畝鏄撶殑灏忔棩鍘 + diff --git a/src/java2022spring/mycalendar.java b/src/java2022spring/mycalendar.java index 7cc6361..bfaefb7 100644 --- a/src/java2022spring/mycalendar.java +++ b/src/java2022spring/mycalendar.java @@ -65,6 +65,7 @@ public class mycalendar extends JFrame implements ActionListener{ Font font1; Font font; mycalendar(){ + font=new Font("微软雅黑",Font.PLAIN,16); font1=new Font("微软雅黑",Font.PLAIN,14); //得到年月[疑问:为什么java.time包的Month类使用会报错] @@ -72,8 +73,13 @@ public class mycalendar extends JFrame implements ActionListener{ year = nowDate.getYear(); nowMonth = nowDate.getMonthValue(); DayOfMonth=nowDate.getDayOfMonth(); + //保存原始数据,方便回到今天 reMonth=nowMonth; reYear=year; + //[date.getMonth()方法好像也不能用?] + date=new Date(); + calendar = Calendar.getInstance(); + calendar.setTime(date); //窗口的初始化设置----------------------------------------- setTitle("我的日历"); setSize(500,400); @@ -168,15 +174,13 @@ public class mycalendar extends JFrame implements ActionListener{ labelDay[i]=new JLabel("",JLabel.CENTER); body.add(labelDay[i]); } - //添加容器 + + //添加容器--------------------------------------------------- this.getContentPane().add(head,BorderLayout.NORTH); this.getContentPane().add(body,BorderLayout.CENTER); this.getContentPane().add(foot,BorderLayout.SOUTH); - // - date=new Date(); - calendar = Calendar.getInstance(); - calendar.setTime(date); + //初始化界面 this.initDate(); setDateMsg(); @@ -268,7 +272,6 @@ public class mycalendar extends JFrame implements ActionListener{ nowMonth=reMonth; year=reYear; calendar.setTime(date); - } //重新初始化界面 initDate(); -- Gitee From fc7b8cddb6110d0b3e4c1ed76c0c597457e6d2f2 Mon Sep 17 00:00:00 2001 From: luwei <9839294+luwellllllljjj@user.noreply.gitee.com> Date: Thu, 12 May 2022 02:48:46 +0000 Subject: [PATCH 08/13] update readme.md. --- readme.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/readme.md b/readme.md index cef485b..73029ec 100644 --- a/readme.md +++ b/readme.md @@ -1,2 +1,3 @@ -杩欐槸涓涓畝鏄撶殑灏忔棩鍘 +杩欐槸涓涓畝鏄撶殑灏忔棩鍘,鍔熻兘寰堢畝鍗曘 +![杈撳叆鍥剧墖璇存槑](1.png) \ No newline at end of file -- Gitee From a1e22c2a85ce47835c41f5f0a3645bf3ded55ecc Mon Sep 17 00:00:00 2001 From: luwei <9839294+luwellllllljjj@user.noreply.gitee.com> Date: Thu, 12 May 2022 03:19:24 +0000 Subject: [PATCH 09/13] update readme.md. --- readme.md | 11 ++++++++--- "\347\225\214\351\235\242\345\233\276.png.png" | Bin 0 -> 24780 bytes 2 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 "\347\225\214\351\235\242\345\233\276.png.png" diff --git a/readme.md b/readme.md index 73029ec..456415b 100644 --- a/readme.md +++ b/readme.md @@ -1,3 +1,8 @@ -杩欐槸涓涓畝鏄撶殑灏忔棩鍘,鍔熻兘寰堢畝鍗曘 - -![杈撳叆鍥剧墖璇存槑](1.png) \ No newline at end of file +杩欐槸涓涓畝鏄撶殑灏忔棩鍘. +鍩烘湰鍔熻兘锛 +1.鏄剧ず褰撳墠鏃ユ湡 +2.鍙煡鎵惧搴旂殑骞存湀浠 +3.鍙繑鍥炰笂涓嬫湀浠 +4.鍙垏鎹富棰 +鍔熻兘绠鍗曪紝瀵筳ava swing鍒濆鑰呴亶甯冩儕鍠 +![杈撳叆鍥剧墖璇存槑](%E7%95%8C%E9%9D%A2%E5%9B%BE.png.png) diff --git "a/\347\225\214\351\235\242\345\233\276.png.png" "b/\347\225\214\351\235\242\345\233\276.png.png" new file mode 100644 index 0000000000000000000000000000000000000000..946596abdbae7831e35bc61cab89c3f6753a937a GIT binary patch literal 24780 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 QLwLM~imq~{qHV;#0TsvN+W-In literal 0 HcmV?d00001 -- Gitee From 1410031c08495a706cc56d9d5fbf1724f8fb9fae Mon Sep 17 00:00:00 2001 From: luluwei <9839294+luwellllllljjj@user.noreply.gitee.com> Date: Fri, 20 May 2022 09:46:37 +0000 Subject: [PATCH 10/13] add LICENSE. --- LICENSE | 127 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..ee58399 --- /dev/null +++ b/LICENSE @@ -0,0 +1,127 @@ + 鏈ㄥ叞瀹芥澗璁稿彲璇, 绗2鐗 + + 鏈ㄥ叞瀹芥澗璁稿彲璇侊紝 绗2鐗 + 2020骞1鏈 http://license.coscl.org.cn/MulanPSL2 + + + 鎮ㄥ鈥滆蒋浠垛濈殑澶嶅埗銆佷娇鐢ㄣ佷慨鏀瑰強鍒嗗彂鍙楁湪鍏板鏉捐鍙瘉锛岀2鐗堬紙鈥滄湰璁稿彲璇佲濓級鐨勫涓嬫潯娆剧殑绾︽潫锛 + + 0. 瀹氫箟 + + 鈥滆蒋浠垛濇槸鎸囩敱鈥滆础鐚濇瀯鎴愮殑璁稿彲鍦ㄢ滄湰璁稿彲璇佲濅笅鐨勭▼搴忓拰鐩稿叧鏂囨。鐨勯泦鍚堛 + + 鈥滆础鐚濇槸鎸囩敱浠讳竴鈥滆础鐚呪濊鍙湪鈥滄湰璁稿彲璇佲濅笅鐨勫彈鐗堟潈娉曚繚鎶ょ殑浣滃搧銆 + + 鈥滆础鐚呪濇槸鎸囧皢鍙楃増鏉冩硶淇濇姢鐨勪綔鍝佽鍙湪鈥滄湰璁稿彲璇佲濅笅鐨勮嚜鐒朵汉鎴栤滄硶浜哄疄浣撯濄 + + 鈥滄硶浜哄疄浣撯濇槸鎸囨彁浜よ础鐚殑鏈烘瀯鍙婂叾鈥滃叧鑱斿疄浣撯濄 + + 鈥滃叧鑱斿疄浣撯濇槸鎸囷紝瀵光滄湰璁稿彲璇佲濅笅鐨勮涓烘柟鑰岃█锛屾帶鍒躲佸彈鎺у埗鎴栦笌鍏跺叡鍚屽彈鎺у埗鐨勬満鏋勶紝姝ゅ鐨勬帶鍒舵槸鎸囨湁鍙楁帶鏂规垨鍏卞悓鍙楁帶鏂硅嚦灏50%鐩存帴鎴栭棿鎺ョ殑鎶曠エ鏉冦佽祫閲戞垨鍏朵粬鏈変环璇佸埜銆 + + 1. 鎺堜簣鐗堟潈璁稿彲 + + 姣忎釜鈥滆础鐚呪濇牴鎹滄湰璁稿彲璇佲濇巿浜堟偍姘镐箙鎬х殑銆佸叏鐞冩х殑銆佸厤璐圭殑銆侀潪鐙崰鐨勩佷笉鍙挙閿鐨勭増鏉冭鍙紝鎮ㄥ彲浠ュ鍒躲佷娇鐢ㄣ佷慨鏀广佸垎鍙戝叾鈥滆础鐚濓紝涓嶈淇敼涓庡惁銆 + + 2. 鎺堜簣涓撳埄璁稿彲 + + 姣忎釜鈥滆础鐚呪濇牴鎹滄湰璁稿彲璇佲濇巿浜堟偍姘镐箙鎬х殑銆佸叏鐞冩х殑銆佸厤璐圭殑銆侀潪鐙崰鐨勩佷笉鍙挙閿鐨勶紙鏍规嵁鏈潯瑙勫畾鎾ら攢闄ゅ锛変笓鍒╄鍙紝渚涙偍鍒堕犮佸鎵樺埗閫犮佷娇鐢ㄣ佽璇洪攢鍞侀攢鍞佽繘鍙e叾鈥滆础鐚濇垨浠ュ叾浠栨柟寮忚浆绉诲叾鈥滆础鐚濄傚墠杩颁笓鍒╄鍙粎闄愪簬鈥滆础鐚呪濈幇鍦ㄦ垨灏嗘潵鎷ユ湁鎴栨帶鍒剁殑鍏垛滆础鐚濇湰韬垨鍏垛滆础鐚濅笌璁稿彲鈥滆础鐚濇椂鐨勨滆蒋浠垛濈粨鍚堣屽皢蹇呯劧浼氫镜鐘殑涓撳埄鏉冨埄瑕佹眰锛屼笉鍖呮嫭瀵光滆础鐚濈殑淇敼鎴栧寘鍚滆础鐚濈殑鍏朵粬缁撳悎銆傚鏋滄偍鎴栨偍鐨勨滃叧鑱斿疄浣撯濈洿鎺ユ垨闂存帴鍦帮紝灏扁滆蒋浠垛濇垨鍏朵腑鐨勨滆础鐚濆浠讳綍浜哄彂璧蜂笓鍒╀镜鏉冭瘔璁硷紙鍖呮嫭鍙嶈瘔鎴栦氦鍙夎瘔璁硷級鎴栧叾浠栦笓鍒╃淮鏉冭鍔紝鎸囨帶鍏朵镜鐘笓鍒╂潈锛屽垯鈥滄湰璁稿彲璇佲濇巿浜堟偍瀵光滆蒋浠垛濈殑涓撳埄璁稿彲鑷偍鎻愯捣璇夎鎴栧彂璧风淮鏉冭鍔ㄤ箣鏃ョ粓姝€ + + 3. 鏃犲晢鏍囪鍙 + + 鈥滄湰璁稿彲璇佲濅笉鎻愪緵瀵光滆础鐚呪濈殑鍟嗗搧鍚嶇О銆佸晢鏍囥佹湇鍔℃爣蹇楁垨浜у搧鍚嶇О鐨勫晢鏍囪鍙紝浣嗘偍涓烘弧瓒崇4鏉¤瀹氱殑澹版槑涔夊姟鑰屽繀椤讳娇鐢ㄩ櫎澶栥 + + 4. 鍒嗗彂闄愬埗 + + 鎮ㄥ彲浠ュ湪浠讳綍濯掍粙涓皢鈥滆蒋浠垛濅互婧愮▼搴忓舰寮忔垨鍙墽琛屽舰寮忛噸鏂板垎鍙戯紝涓嶈淇敼涓庡惁锛屼絾鎮ㄥ繀椤诲悜鎺ユ敹鑰呮彁渚涒滄湰璁稿彲璇佲濈殑鍓湰锛屽苟淇濈暀鈥滆蒋浠垛濅腑鐨勭増鏉冦佸晢鏍囥佷笓鍒╁強鍏嶈矗澹版槑銆 + + 5. 鍏嶈矗澹版槑涓庤矗浠婚檺鍒 + + 鈥滆蒋浠垛濆強鍏朵腑鐨勨滆础鐚濆湪鎻愪緵鏃朵笉甯︿换浣曟槑绀烘垨榛樼ず鐨勬媴淇濄傚湪浠讳綍鎯呭喌涓嬶紝鈥滆础鐚呪濇垨鐗堟潈鎵鏈夎呬笉瀵逛换浣曚汉鍥犱娇鐢ㄢ滆蒋浠垛濇垨鍏朵腑鐨勨滆础鐚濊屽紩鍙戠殑浠讳綍鐩存帴鎴栭棿鎺ユ崯澶辨壙鎷呰矗浠伙紝涓嶈鍥犱綍绉嶅師鍥犲鑷存垨鑰呭熀浜庝綍绉嶆硶寰嬬悊璁猴紝鍗充娇鍏舵浘琚缓璁湁姝ょ鎹熷け鐨勫彲鑳芥с + + 6. 璇█ + 鈥滄湰璁稿彲璇佲濅互涓嫳鏂囧弻璇〃杩帮紝涓嫳鏂囩増鏈叿鏈夊悓绛夋硶寰嬫晥鍔涖傚鏋滀腑鑻辨枃鐗堟湰瀛樺湪浠讳綍鍐茬獊涓嶄竴鑷达紝浠ヤ腑鏂囩増涓哄噯銆 + + 鏉℃缁撴潫 + + 濡備綍灏嗘湪鍏板鏉捐鍙瘉锛岀2鐗堬紝搴旂敤鍒版偍鐨勮蒋浠 + + 濡傛灉鎮ㄥ笇鏈涘皢鏈ㄥ叞瀹芥澗璁稿彲璇侊紝绗2鐗堬紝搴旂敤鍒版偍鐨勬柊杞欢锛屼负浜嗘柟渚挎帴鏀惰呮煡闃咃紝寤鸿鎮ㄥ畬鎴愬涓嬩笁姝ワ細 + + 1锛 璇锋偍琛ュ厖濡備笅澹版槑涓殑绌虹櫧锛屽寘鎷蒋浠跺悕銆佽蒋浠剁殑棣栨鍙戣〃骞翠唤浠ュ強鎮ㄤ綔涓虹増鏉冧汉鐨勫悕瀛楋紱 + + 2锛 璇锋偍鍦ㄨ蒋浠跺寘鐨勪竴绾х洰褰曚笅鍒涘缓浠モ淟ICENSE鈥濅负鍚嶇殑鏂囦欢锛屽皢鏁翠釜璁稿彲璇佹枃鏈斁鍏ヨ鏂囦欢涓紱 + + 3锛 璇峰皢濡備笅澹版槑鏂囨湰鏀惧叆姣忎釜婧愭枃浠剁殑澶撮儴娉ㄩ噴涓 + + Copyright (c) [Year] [name of copyright holder] + [Software Name] is licensed under Mulan PSL v2. + You can use this software according to the terms and conditions of the Mulan PSL v2. + You may obtain a copy of Mulan PSL v2 at: + http://license.coscl.org.cn/MulanPSL2 + THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. + See the Mulan PSL v2 for more details. + + + Mulan Permissive Software License锛孷ersion 2 + + Mulan Permissive Software License锛孷ersion 2 (Mulan PSL v2) + January 2020 http://license.coscl.org.cn/MulanPSL2 + + Your reproduction, use, modification and distribution of the Software shall be subject to Mulan PSL v2 (this License) with the following terms and conditions: + + 0. Definition + + Software means the program and related documents which are licensed under this License and comprise all Contribution(s). + + Contribution means the copyrightable work licensed by a particular Contributor under this License. + + Contributor means the Individual or Legal Entity who licenses its copyrightable work under this License. + + Legal Entity means the entity making a Contribution and all its Affiliates. + + Affiliates means entities that control, are controlled by, or are under common control with the acting entity under this License, 鈥榗ontrol鈥 means direct or indirect ownership of at least fifty percent (50%) of the voting power, capital or other securities of controlled or commonly controlled entity. + + 1. Grant of Copyright License + + Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable copyright license to reproduce, use, modify, or distribute its Contribution, with modification or not. + + 2. Grant of Patent License + + Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable (except for revocation under this Section) patent license to make, have made, use, offer for sale, sell, import or otherwise transfer its Contribution, where such patent license is only limited to the patent claims owned or controlled by such Contributor now or in future which will be necessarily infringed by its Contribution alone, or by combination of the Contribution with the Software to which the Contribution was contributed. The patent license shall not apply to any modification of the Contribution, and any other combination which includes the Contribution. If you or your Affiliates directly or indirectly institute patent litigation (including a cross claim or counterclaim in a litigation) or other patent enforcement activities against any individual or entity by alleging that the Software or any Contribution in it infringes patents, then any patent license granted to you under this License for the Software shall terminate as of the date such litigation or activity is filed or taken. + + 3. No Trademark License + + No trademark license is granted to use the trade names, trademarks, service marks, or product names of Contributor, except as required to fulfill notice requirements in Section 4. + + 4. Distribution Restriction + + You may distribute the Software in any medium with or without modification, whether in source or executable forms, provided that you provide recipients with a copy of this License and retain copyright, patent, trademark and disclaimer statements in the Software. + + 5. Disclaimer of Warranty and Limitation of Liability + + THE SOFTWARE AND CONTRIBUTION IN IT ARE PROVIDED WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL ANY CONTRIBUTOR OR COPYRIGHT HOLDER BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING, BUT NOT LIMITED TO ANY DIRECT, OR INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING FROM YOUR USE OR INABILITY TO USE THE SOFTWARE OR THE CONTRIBUTION IN IT, NO MATTER HOW IT鈥橲 CAUSED OR BASED ON WHICH LEGAL THEORY, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + + 6. Language + + THIS LICENSE IS WRITTEN IN BOTH CHINESE AND ENGLISH, AND THE CHINESE VERSION AND ENGLISH VERSION SHALL HAVE THE SAME LEGAL EFFECT. IN THE CASE OF DIVERGENCE BETWEEN THE CHINESE AND ENGLISH VERSIONS, THE CHINESE VERSION SHALL PREVAIL. + + END OF THE TERMS AND CONDITIONS + + How to Apply the Mulan Permissive Software License锛孷ersion 2 (Mulan PSL v2) to Your Software + + To apply the Mulan PSL v2 to your work, for easy identification by recipients, you are suggested to complete following three steps: + + i Fill in the blanks in following statement, including insert your software name, the year of the first publication of your software, and your name identified as the copyright owner; + + ii Create a file named 鈥淟ICENSE鈥 which contains the whole context of this License in the first directory of your software package; + + iii Attach the statement to the appropriate annotated syntax at the beginning of each source file. + + + Copyright (c) [Year] [name of copyright holder] + [Software Name] is licensed under Mulan PSL v2. + You can use this software according to the terms and conditions of the Mulan PSL v2. + You may obtain a copy of Mulan PSL v2 at: + http://license.coscl.org.cn/MulanPSL2 + THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. + See the Mulan PSL v2 for more details. -- Gitee From 25cf3bea85cfc4224981269f8389a27a342b95c7 Mon Sep 17 00:00:00 2001 From: luwei <1904915962@qq.com> Date: Wed, 1 Jun 2022 13:44:57 +0800 Subject: [PATCH 11/13] =?UTF-8?q?=E4=BD=BF=E5=8E=BB=E4=B8=8A=E4=B8=8B?= =?UTF-8?q?=E6=9C=88=E6=97=B6=E5=8E=9F=E6=9C=AC=E7=9A=84=E6=97=A5=E6=9C=9F?= =?UTF-8?q?=E8=BE=B9=E6=A1=86=E6=B6=88=E5=A4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/mycalendar.java | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/src/java2022spring/mycalendar.java b/src/java2022spring/mycalendar.java index bfaefb7..d2c71c5 100644 --- a/src/java2022spring/mycalendar.java +++ b/src/java2022spring/mycalendar.java @@ -25,8 +25,6 @@ import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; -import javax.swing.border.Border; - import java.awt.event.ActionEvent; public class mycalendar extends JFrame implements ActionListener{ @@ -65,7 +63,6 @@ public class mycalendar extends JFrame implements ActionListener{ Font font1; Font font; mycalendar(){ - font=new Font("微软雅黑",Font.PLAIN,16); font1=new Font("微软雅黑",Font.PLAIN,14); //得到年月[疑问:为什么java.time包的Month类使用会报错] @@ -85,6 +82,7 @@ public class mycalendar extends JFrame implements ActionListener{ setSize(500,400); setLocationRelativeTo(null);//使窗口居中 setDefaultCloseOperation(EXIT_ON_CLOSE); + //菜单栏--------------------------------------------------- bar=new JMenuBar(); childmenu=new JMenu("设置"); @@ -97,7 +95,7 @@ public class mycalendar extends JFrame implements ActionListener{ setThemeMenu.add(colors[i]); } setJMenuBar(bar); - + //顶部容器--------------------------------------------------- head.setBackground(new Color(133,109,114)); head.setLayout(new FlowLayout()); @@ -115,7 +113,7 @@ public class mycalendar extends JFrame implements ActionListener{ upJButton.setBorder(null); upJButton.setPreferredSize(new Dimension(50,30)); upJButton.addActionListener(this);//对上月按钮进行监听 - + JButton downJButton=new JButton("下月"); downJButton.setForeground(new Color(245,245,245)); downJButton.setBackground(new Color(105,105,105)); @@ -129,16 +127,17 @@ public class mycalendar extends JFrame implements ActionListener{ returnJButton.setBorder(null); returnJButton.setPreferredSize(new Dimension(65,30)); returnJButton.addActionListener(this); - + jlb2=new JLabel("年份: "); jlb2.setForeground(new Color(245,245,245)); textField = new JTextField(5); - + jlb = new JLabel("月份: "); jlb.setForeground(new Color(245,245,245)); jcb=new JComboBox(month); jcb.setBackground(new Color(245,245,245)); - + + head.add(jlb2); head.add(textField); head.add(jlb); @@ -176,11 +175,11 @@ public class mycalendar extends JFrame implements ActionListener{ } //添加容器--------------------------------------------------- - this.getContentPane().add(head,BorderLayout.NORTH); - this.getContentPane().add(body,BorderLayout.CENTER); - this.getContentPane().add(foot,BorderLayout.SOUTH); + add(head,BorderLayout.NORTH); + add(body,BorderLayout.CENTER); + add(foot,BorderLayout.SOUTH); - + //初始化界面 this.initDate(); setDateMsg(); @@ -217,6 +216,7 @@ public class mycalendar extends JFrame implements ActionListener{ private void initDate() { calendar.set(Calendar.DAY_OF_MONTH, 1);//通过本月的第一天是星期几 int numberOfDays=getMonthDay(year,nowMonth); + for(JLabel item:labelDay) item.setBorder(null); for(int i=calendar.get(Calendar.DAY_OF_WEEK)-1,b=1;b<=numberOfDays;b++,i++) { labelDay[i].setText(Integer.toString(b)); if(DayOfMonth==b && year==reYear && nowMonth==reMonth) {//当前日期强调样式 @@ -227,7 +227,6 @@ public class mycalendar extends JFrame implements ActionListener{ //设置非当前日期样式 labelDay[i].setFont(font1); labelDay[i].setForeground(new Color(48,22,28)); - labelDay[i].setBorder(null); } } -- Gitee From ceb618538261beb65e7f53976dbdd7a921a39f69 Mon Sep 17 00:00:00 2001 From: luwei <1904915962@qq.com> Date: Wed, 1 Jun 2022 14:18:49 +0800 Subject: [PATCH 12/13] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8E=BB=E4=B8=8A?= =?UTF-8?q?=E4=B8=8B=E6=9C=88=E4=BC=9A=E6=98=BE=E7=A4=BA=E8=BE=B9=E6=A1=86?= =?UTF-8?q?=EF=BC=8C=E6=9C=80=E6=9C=80=E7=BB=88=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/mycalendar.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/java2022spring/mycalendar.java b/src/java2022spring/mycalendar.java index d2c71c5..cf82077 100644 --- a/src/java2022spring/mycalendar.java +++ b/src/java2022spring/mycalendar.java @@ -216,7 +216,7 @@ public class mycalendar extends JFrame implements ActionListener{ private void initDate() { calendar.set(Calendar.DAY_OF_MONTH, 1);//通过本月的第一天是星期几 int numberOfDays=getMonthDay(year,nowMonth); - for(JLabel item:labelDay) item.setBorder(null); + for(JLabel item:labelDay) {item.setBorder(null);} for(int i=calendar.get(Calendar.DAY_OF_WEEK)-1,b=1;b<=numberOfDays;b++,i++) { labelDay[i].setText(Integer.toString(b)); if(DayOfMonth==b && year==reYear && nowMonth==reMonth) {//当前日期强调样式 @@ -277,7 +277,7 @@ public class mycalendar extends JFrame implements ActionListener{ setDateMsg(); } - //设置主题颜色 + //设置主题颜 private void setTheme(String theme) { Color color1,color2,color3; switch(theme){ -- Gitee From d9f439d604a7475e9df1e727ed7de940a86b2bf7 Mon Sep 17 00:00:00 2001 From: luwei <1904915962@qq.com> Date: Wed, 8 Jun 2022 13:58:41 +0800 Subject: [PATCH 13/13] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=97=A5=E6=9C=9F=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/java2022spring/mycalendar.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/java2022spring/mycalendar.java b/src/java2022spring/mycalendar.java index cf82077..79ab888 100644 --- a/src/java2022spring/mycalendar.java +++ b/src/java2022spring/mycalendar.java @@ -261,7 +261,7 @@ public class mycalendar extends JFrame implements ActionListener{ year=Integer.parseInt(input); int selectedMonth=this.jcb.getSelectedIndex()+1; nowMonth=selectedMonth; - calendar.set(year, nowMonth,1); + calendar.set(year, nowMonth-1,1); }catch(Exception exp) { JOptionPane.showConfirmDialog(null, "请输入正确年份", "输入错误", JOptionPane.OK_CANCEL_OPTION ); textField.setText(""); -- Gitee