Java實現(xiàn)簡單的日歷界面
更新時間:2022年06月13日 17:07:27 作者:one_silent_night
這篇文章主要為大家詳細介紹了Java實現(xiàn)簡單的日歷界面,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了Java實現(xiàn)簡單日歷界面的具體代碼,供大家參考,具體內(nèi)容如下
請使用JFrame、JPanel、JButton、JLabel和不同的布局管理器,實現(xiàn)如下日歷視圖。
import java.awt.*; import javax.swing.*; public class Main { ?? ?public static void main(String[] args) { ?? ??? ?JFrame frame = new JFrame("calendar"); ?? ??? ?frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ?? ??? ? ?? ??? ?//第一部分 ?? ??? ?FlowLayout flow = new FlowLayout(FlowLayout.CENTER); ?? ??? ?flow.setHgap(20); ? ? ? ? //設(shè)置橫向間距 ?? ??? ?//flow.setVgap(10); ? ? ? ?//設(shè)置縱向間距 ?? ??? ?JPanel paneln = new JPanel(flow); ?? ??? ?JLabel l1 = new JLabel("2021年 7月"); ?? ??? ?JButton left1 = new JButton("<<"); ?? ??? ?JButton left2 = new JButton("<"); ?? ??? ?JButton right1 = new JButton(">"); ?? ??? ?JButton right2 = new JButton(">>"); ?? ??? ?paneln.add(left1); ?? ??? ?paneln.add(left2); ?? ??? ?paneln.add(l1); ?? ??? ?paneln.add(right1); ?? ??? ?paneln.add(right2); ?? ??? ?frame.add(paneln, BorderLayout.NORTH); ?? ??? ?//第一部分 ?? ??? ? ?? ??? ? ?? ??? ?//第二部分 ?? ??? ?JPanel week = new JPanel(new GridLayout(1,7)); ? ?//設(shè)置1行7列的格式 ?? ??? ?JLabel weeknum[] = new JLabel[7]; ?? ??? ?weeknum[0] = new JLabel("一",JLabel.CENTER); ?? ??? ?weeknum[1] = new JLabel("二",JLabel.CENTER); ?? ??? ?weeknum[2] = new JLabel("三",JLabel.CENTER); ?? ??? ?weeknum[3] = new JLabel("四",JLabel.CENTER); ?? ??? ?weeknum[4] = new JLabel("五",JLabel.CENTER); ?? ??? ?weeknum[5] = new JLabel("六",JLabel.CENTER); ?? ??? ?weeknum[6] = new JLabel("日",JLabel.CENTER); ?? ??? ?weeknum[6].setPreferredSize(new Dimension(75,75)); ? ? //設(shè)置單元格大小 ?? ??? ?weeknum[6].setBorder(BorderFactory.createLineBorder(Color.gray)); ? ? ?//設(shè)置顯示邊框并設(shè)計為灰色 ?? ??? ?week.add(weeknum[6]); ?? ??? ?for(int i=0;i<6;i++) ?? ??? ?{ ?? ??? ??? ?weeknum[i].setPreferredSize(new Dimension(75,75)); ? ? ?//設(shè)置單元格大小 ?? ??? ??? ?weeknum[i].setBorder(BorderFactory.createLineBorder(Color.gray)); ? ? //設(shè)置顯示邊框并設(shè)計為灰色 ?? ??? ??? ?week.add(weeknum[i]); ?? ??? ?} ?? ??? ?frame.add(week,BorderLayout.CENTER); ?? ??? ?//第二部分 ?? ??? ? ?? ??? ? ?? ??? ?//第三部分 ?? ??? ?JPanel date = new JPanel(new GridLayout(5,7)); ?? ??? ?JButton datenum[] = new JButton[35]; ?? ??? ?int i; ?? ??? ?Font font = new Font("宋體", Font.ITALIC,12); ? ? //設(shè)置個別數(shù)字字體 ?? ??? ?for(i=0;i<4;i++) { ?? ??? ??? ?String arr = ""+(i+27); ?? ??? ??? ?datenum[i] = new JButton(arr); ?? ??? ??? ?datenum[i].setFont(font); ? ? ?//實現(xiàn)字體設(shè)置 ?? ??? ??? ?date.add(datenum[i]); ?? ??? ??? ?datenum[i].setPreferredSize(new Dimension(75,75)); ? ?//設(shè)置單元格大小 ?? ??? ?} ? ?//添加個別數(shù)字日期 ?? ??? ?for(i=0;i<31;i++) { ?? ??? ??? ?String arr = ""+(i+1); ?? ??? ??? ?datenum[i] = new JButton(arr); ?? ??? ??? ?date.add(datenum[i]); ?? ??? ??? ?datenum[i].setPreferredSize(new Dimension(75,75)); ? ?//設(shè)置單元格大小 ?? ??? ?} ? ?//添加正常數(shù)字日期 ?? ??? ?frame.add(date,BorderLayout.SOUTH); ?? ??? ?//第三部分 ?? ??? ? ?? ??? ? ?? ??? ?frame.pack(); ?? ??? ?frame.setVisible(true); ?? ?} }
運行結(jié)果
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
基于Mybatis Plus實現(xiàn)代碼生成器CodeGenerator
這篇文章主要介紹了基于Mybatis Plus實現(xiàn)代碼生成器CodeGenerator,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-08-08Spring?Boot?內(nèi)置工具類ReflectionUtils的實現(xiàn)
ReflectionUtils是一個反射工具類,它封裝了Java反射的操作,使得我們能夠更輕松地操作和訪問類的方法、字段,本文主要介紹了Spring?Boot?內(nèi)置工具類ReflectionUtils的實現(xiàn),感興趣的可以了解一下2023-11-11RxJava中map和flatMap的用法區(qū)別源碼解析
這篇文章主要為大家介紹了RxJava中map和flatMap的用法區(qū)別源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09Spring boot中filter類不能注入@Autowired變量問題
這篇文章主要介紹了Spring boot中filter類不能注入@Autowired變量問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09