JAVA用swing做个日历

您所在的位置:网站首页 日历表简单画法 JAVA用swing做个日历

JAVA用swing做个日历

2023-08-24 17:33| 来源: 网络整理| 查看: 265

JAVA作业,我比作业要求的多加了些功能,可以滚轮和键盘左右键翻页快捷键做的也许比较傻吧,监听到就直接doClick();沉迷JAVA,对于我这种以前只写过控制台程序的来说,图形界面真是打开了新世界

//MySwingCalendar.java package test2; import java.awt.BorderLayout; import java.awt.Color; import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.KeyEventPostProcessor; import java.awt.KeyboardFocusManager; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.MouseWheelEvent; import java.awt.event.MouseWheelListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.util.Calendar; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.border.BevelBorder; import javax.swing.border.CompoundBorder; public class MySwingCalendar extends JFrame{ /** * */ private static final long serialVersionUID = 1L; private Calendar calendar; private final static String week[]={"日","一","二","三","四","五","六"}; private JLabel dayLable[][]=new JLabel[6][7],monthLable; private void initCalendar() { calendar=Calendar.getInstance(); calendar.set(Calendar.DATE,0); } private void initFrame() { setIconImage(new ImageIcon("icon\\Calendar.gif").getImage()); setSize(500, 300); getContentPane().setLayout(new BorderLayout()); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); addWindowListener(new WindowAdapter() { @Override public void windowOpened(WindowEvent e) { requestFocus(); } }); } public MySwingCalendar() { super("Calendar"); initCalendar(); initFrame(); JPanel northPanel=new JPanel(new FlowLayout(FlowLayout.CENTER)); JButton preMonth=new JButton("上月"); preMonth.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { calendarAdd(-1); } }); northPanel.add(preMonth); JButton nextMonth=new JButton("下月"); nextMonth.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { calendarAdd(1); } }); northPanel.add(nextMonth); getContentPane().add(northPanel,BorderLayout.NORTH); JPanel centerPanel=new JPanel(new GridLayout(7, 7,1,1)); centerPanel.setBorder(new BevelBorder(BevelBorder.LOWERED)); for(String s:week) { JButton weekButton=new JButton(s); weekButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { requestFocus(); } }); centerPanel.add(weekButton); } for(int i=0;i100) { lastRightPress = currentTime; nextMonth.requestFocus(); nextMonth.doClick(); } } return false; } }); addMouseWheelListener(new MouseWheelListener() { private long lastMove=0; @Override public void mouseWheelMoved(MouseWheelEvent e) { int wheelRotation=e.getWheelRotation(); long currentTime=System.currentTimeMillis(); if(wheelRotation==-1&¤tTime-lastMove>70) { lastMove=currentTime; preMonth.requestFocus(); preMonth.doClick(); } else if(wheelRotation==1&¤tTime-lastMove>70) { lastMove=currentTime; nextMonth.requestFocus(); nextMonth.doClick(); } } }); setVisible(true); } public String toString(){ String s=calendar.get(Calendar.YEAR)+"年"+(calendar.get(Calendar.MONTH)+1)+"月\n"; for(String i:week) s+=" "+i; s+="\n"; int day=calendar.get(Calendar.DAY_OF_WEEK)%7; for(int i=0;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3