国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - Java JTable 實現(xiàn)日歷的示例

Java JTable 實現(xiàn)日歷的示例

2020-10-05 12:16淺棘 Java教程

這篇文章主要介紹了Java JTable 實現(xiàn)日歷的示例,幫助大家更好的理解和學(xué)習(xí)Java jtable的使用方法,感興趣的朋友可以了解下

效果圖:

Java JTable 實現(xiàn)日歷的示例

主要思想:日歷最核心的功能就是能顯示某年某月對應(yīng)的日期和星期幾。因此只要實現(xiàn)傳入具體的年份和月份,得到一組存放了日期的數(shù)組a[ ]即可。其中數(shù)組的大小設(shè)置成42,要考慮的問題是當(dāng)月的第一天對應(yīng)星期幾。日期數(shù)組中的前七個,肯定包含了當(dāng)月的第一天,把這一天找到,將“1”填入,后面的日期依次累加直到加完該月最后一天為止。

MyCalendar類:

得到用于顯示日期數(shù)組a[ ]

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import java.util.Calendar;
 
public class MyCalendar {
String day[];
int year = 2020,month=0;
 
public String[] getDay() {
return day;
}
public void setDay(String[] day) {
this.day = day;
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
public int getMonth() {
return month;
}
public void setMonth(int month) {
this.month = month;
}
private boolean isLeapYear() {
if(this.year%4==0 && this.year%100!=0){
return true;
}else
if(this.year%400==0){
return true;
}else
 
return false;
}
 
 
//獲得顯示數(shù)組
public String[] getCalendar(){
Calendar calendar=Calendar.getInstance();
String a[]=new String[42];
calendar.set(year,month-1,1);
int weekday=calendar.get(Calendar.DAY_OF_WEEK)-1;
int day=0;
int days = 31;
if (this.month == 4 || this.month == 6 || this.month == 9 || this.month == 11)
days = 30;
if (this.month == 2 && isLeapYear())
days = 29;
if (this.month == 2 && !isLeapYear())
days = 28;
 
for(int i = weekday,n=1;i< weekday +days;i++){
a[i]=String.valueOf(n);
n++;
}
return a;
}
 
}

MyFrame類:

創(chuàng)造顯示面板,主要用到JTable。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
public class MyFrame extends JFrame implements ActionListener {
//存儲數(shù)據(jù)
MyCalendar calendar = new MyCalendar();
JComboBox choiceYear,choiceMonth;
JTable table = null;
JPanel root = new JPanel();
JLabel lyear, lmonth;
 
private Object[] name = {"日","一","二","三","四","五","六"};
private TableModel tableModel = new DefaultTableModel(name,6);
 
//  private static int row = 6;
//  private static int column = 7;
 
public MyFrame(String title) {
super(title);
 
 
this.setContentPane(root);
root.setLayout(new BorderLayout());
//年月選擇欄
choiceYear=new JComboBox();
choiceMonth=new JComboBox();
lyear=new JLabel("年");
lmonth=new JLabel("月 ");
for(int i=1990;i<2050;i++)
choiceYear.addItem(i);
choiceYear.addActionListener(this);
for(int i=1;i<=12;i++)
choiceMonth.addItem(i);
choiceMonth.addActionListener(this);
 
JPanel pNorth=new JPanel();
 
pNorth.add(choiceYear);
pNorth.add(lyear);
pNorth.add(choiceMonth);
pNorth.add(lmonth);
root.add(pNorth,BorderLayout.NORTH);
 
// 表格初始化
setYearAndMonth( 1990, 1);
 
 
 
}
 
//設(shè)置年月日
public void setYearAndMonth(int y,int m){
calendar.setYear(y);
calendar.setMonth(m);
String day[]=calendar.getCalendar();
Vector<Object> rowData = new Vector<>();
int row = 0;
int column = 0;
for(int i = 0; i< 42; i++) {
row = i / 7;
column = i % 7;
 
tableModel.setValueAt(day[i], row, column);
 
}
 
 
// 創(chuàng)建 JTable,直接重寫 isCellEditable(),設(shè)為不可編輯
table = new JTable(tableModel){
@Override
public boolean isCellEditable(int row, int column)
{
return false;
};
JScrollPane scrollPane = new JScrollPane(table);
root.add(scrollPane, BorderLayout.CENTER);
 
// 添加到主界面 
table.setFillsViewportHeight(true); 
table.setRowSelectionAllowed(true); // 整行選擇
table.setRowHeight(30); 
}
 
 
public void actionPerformed(ActionEvent e){
 
//選擇年份
if (e.getSource()==choiceYear){
calendar.setYear((Integer) choiceYear.getSelectedItem());
String day[]=calendar.getCalendar();
Vector<Object> rowData = new Vector<>();
int row = 0;
int column = 0;
for(int i = 0; i< 42; i++) {
row = i / 7;
column = i % 7;
 
tableModel.setValueAt(day[i], row, column);
 
}
table = new JTable(tableModel){
@Override
public boolean isCellEditable(int row, int column)
{
return false;
};
JScrollPane scrollPane = new JScrollPane(table);
root.add(scrollPane, BorderLayout.CENTER);
 
// 添加到主界面 
table.setFillsViewportHeight(true); 
table.setRowSelectionAllowed(true); // 整行選擇
table.setRowHeight(30); 
}
//選擇月份
else if (e.getSource()==choiceMonth){
calendar.setMonth((Integer) choiceMonth.getSelectedItem());
String day[]=calendar.getCalendar();
Vector<Object> rowData = new Vector<>();
int row = 0;
int column = 0;
for(int i = 0; i< 42; i++) {
row = i / 7;
column = i % 7;
 
tableModel.setValueAt(day[i], row, column);
 
}
}
table = new JTable(tableModel){
@Override
public boolean isCellEditable(int row, int column)
{
return false;
};
JScrollPane scrollPane = new JScrollPane(table);
root.add(scrollPane, BorderLayout.CENTER);
 
// 添加到主界面 
table.setFillsViewportHeight(true); 
table.setRowSelectionAllowed(true); // 整行選擇
table.setRowHeight(30); 
 
}
 
 
}

ShowView類:

用于顯示窗口,照抄即可,無需理解。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import java.awt.Container;
import java.awt.FlowLayout;
 
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
 
public class ShowView
{
  private static void createGUI()
  {
    
    // 語法:因為MyFrame是JFrame的子類,所以可以這么寫
    JFrame frame = new MyFrame("日歷");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
    
    // 設(shè)置窗口的其他參數(shù),如窗口大小
    frame.setSize(400, 300);
    
    // 顯示窗口
    frame.setVisible(true);
    
    
  }
  
  public static void main(String[] args)
  {
    // 此段代碼間接地調(diào)用了 createGUI()
    
    javax.swing.SwingUtilities.invokeLater(new Runnable() {
      public void run()
      {
        createGUI();
      }
    });
 
  }
}

以上就是Java JTable 實現(xiàn)日歷的示例的詳細內(nèi)容,更多關(guān)于Java JTable 實現(xiàn)日歷的資料請關(guān)注服務(wù)器之家其它相關(guān)文章!

原文鏈接:https://www.cnblogs.com/qianji-7/p/13759500.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 亚洲精品欧美 | 欧美日韩中文在线观看 | 久久亚洲一区 | 久久综合成人精品亚洲另类欧美 | 免费国产一区 | 国产精品无码永久免费888 | 亚洲艹 | av免费观看在线 | 亚洲国产一区二区三区 | 日韩精品无码一区二区三区 | 国产一区视频在线 | 国产中文字幕在线 | 国产综合久久久 | 中国黄色视屏 | 免费观看黄色 | 日韩精品区 | 亚洲 综合 清纯 丝袜 自拍 | k8久久久一区二区三区 | 国产中文字幕在线 | 免费看亚洲 | 在线看av网址 | 欧美午夜影院 | 一区二区三区免费观看视频 | 国产乱淫精品一区二区三区毛片 | 美国特级a毛片免费网站 | 国产一区二区精品在线 | 色五月激情综合网 | 五月天综合网 | 在线一级片 | 性做久久久久久久免费看 | 在线国产一区二区 | 黄色一级片黄色一级片 | 亚洲成人免费在线 | 91精品国产91久久久久久最新 | 色中色av | 视频一区在线播放 | av不卡电影在线观看 | 国产欧美在线观看 | 欧美黄色一级 | 久久精品无码一区二区日韩av | 91精品久久久久久久久久 |