问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用java在文本框内怎么写万年历

发布网友 发布时间:2022-05-01 08:53

我来回答

1个回答

热心网友 时间:2022-06-27 01:07

/*日历*/
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.util.regex.Pattern;

import javax.swing.*;


public class Demo28 extends JFrame {

int m = 1;
String[] monthchoose = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
"11", "12" }; // 存放月份的字符数组

String[] columnNames = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" }; // 存放星期的字符数组
Calendar ca = Calendar.getInstance();
Container contentPane = getContentPane();
Vector<String> vector = new Vector<String>();
String[][] date = new String[6][7]; // 表格的显示数据的格式
TextField tf; // 文本框的值代表的是年份
JComboBox jb;
JTable table; // 把日期用table的方式显示出来

public void getDate(String year, String month, String week, int Max_Day) {
int n = 0, b = 0;

// 动态把传进来月份的天数存放到容器里
for (int j = 1; j <= Max_Day; j++) {
vector.add(String.valueOf(j));
}

//每次往table里添加数据的时候,都预先把原table里 的 数据清空
for(int x = 0;x<date.length;x++){
for(int y = 0;y<date[x].length;y++){
date[x][y] = null;
}
}

// 根据传进来月份的第一天是星期几,来构建Table
for (int a = Integer.parseInt(week) - 1; a < date[0].length; a++) {
date[0][a] = new String((String) vector.toArray()[n]);
n++;
}

for (int i = 1; i < date.length; i++) {
for (int j = 0; j < date[i].length; j++) {
if (n < vector.size()) {
date[i][j] = new String((String) vector.toArray()[n]);
n++;
} else
break;
}
}

// 把容器里的数据全部清除,以备下次再存放新的数据
while (b < vector.size()) {
vector.remove(b);
}
}

 public void chooseDate(String day) {
 JLabel label = new JLabel();

for (int y = 0; y < date.length; y++) {
for (int z = 0; z < date[y].length; z++) {
System.out.print(date[y][z] + " ");
System.out.println(day);
if (date[y][z] != null) {
if (date[y][z].equals(day)) {
table.setSelectionBackground(Color.yellow);
return;
}
}
}
}
}

public void paint() {
setTitle("日历");
setBounds(200, 200, 350, 178);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
int m = 0;
String year = String.valueOf(ca.get(Calendar.YEAR)); // 得到当前的系统时间的年份,并把这个数值存放到year这个变量里
String month = String.valueOf(ca.get(Calendar.MONTH) + 1); // 得到当前的系统时间的月份,并把这个数值存放到month这个变量里
String day = String.valueOf(ca.get(Calendar.DATE)); // 得到当前的系统时间的日期,并把这个数值存放到day这个变量里

ca.set(Calendar.DATE, 1); // 把Calendar 对象的DATA设置为1
String week = String.valueOf(ca.get(Calendar.DAY_OF_WEEK)); // 根据设置的Calendar对象,计算出这个月第一天是星期几
int Max_Day = ca.getActualMaximum(Calendar.DATE); // 得到当前系统时间月份有多少天
getDate(year, month, week, Max_Day);

// 从月份数组里取出与当前系统时间一样的月份值
for (int i = 0; i < monthchoose.length; i++) {
if (monthchoose[i].equals(month)) {
m = i;
}
}

JToolBar toolBar = new JToolBar();
JButton b1 = new JButton("<");
b1.addMouseListener(new myMouseListener1());
JButton b2 = new JButton(">");
b2.addMouseListener(new myMouseListener2());
JLabel j1 = new JLabel("年");
JLabel j2 = new JLabel("月");
tf = new TextField(5);
tf.addKeyListener(new myKeyListener());
tf.setText(year);
jb = new JComboBox(monthchoose);
jb.setSelectedIndex(m);
jb.addActionListener(new myActionListener3());

table = new JTable(date, columnNames);
//table.addMouseListener(new tableMouseListener());
table.setPreferredScrollableViewportSize(new Dimension(350, 150));
JScrollPane jsp = new JScrollPane(table);
contentPane.add(jsp, BorderLayout.CENTER);

chooseDate(day);

toolBar.add(b1);
toolBar.add(tf);
toolBar.add(b2);
toolBar.add(j1);
toolBar.add(jb);
toolBar.add(j2);
toolBar.setLocation(0, 0);
toolBar.setSize(400, 15);
contentPane.add(toolBar, BorderLayout.NORTH);

setVisible(true);
new Thread(new PaintThread()).start(); // 调用内部类PaintThread,根据里面的设置来重画

}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
会计中级什么时候拿证 会计中级职称什么时候领取 手机中毒后恢复出厂设置就可以了吗? 手机中病毒后如何清除? 做代购初期怎么找客源,微商代购怎么找精准客 ...代购,都是阿迪耐克正品。怎么才能把微商做好。 做微商和代购,有哪些引流获客的方法? 250㎜的水泥撑棍一捆多少根? 吊顶一平要多少丝杠 ...断开电源,一端接地,这个时候把极板远离,为什么是两极板电压变大而... 用java怎么写一个万年历 海尔冰箱BCD_328WDGF是哪一年生产的? 海尔电冰箱bcd-328wb 是那一年生产的 海尔冰箱bcd—331wdgo哪年生产的 请问这个海尔冰箱是哪年生产的 海尔冰箱第一批生产是哪一年 海尔冰箱是几几年产的 海尔335冰箱是哪一年的产品 这个配置迅雷450的电源够吗? 电源450p 什么意思,怎么给电脑配一个合适的电源 450瓦电源能带12600k吗 450瓦电源够用吗? QQ群名片怎样才能设置超过7个汉字(14个字符)? 进入微博群群主要求改名字,怎么操作啊 群成员标签大于8个字为什么设置不了 mysql 加入自动增加列的问题 Tomcat能不能搭建这样一个服务器 tomcat怎么搭建javaweb服务端 如何搭建本地服务器Tomcat用于安卓编程? 如何在自己的电脑上搭建tomcat服务器?(外网可以访问的) 编写 万年历java代码例如1900年一月一日是星期一。 高分求Java编写的万年历源代码,能够显示当前系统时间和日期查询。 有谁懂用java制作一个万年历,急需哦具体功能看问题补充哦。真的O(∩_∩)O谢谢啦,真的很急需!十万火急! 怎么样用java的if和else if写万年历。 怎么用java写日历 java万年历源代码 mysql 增加一列常数列,增加列 用java语言编写一个万年历程序,要求只显示阳历、节日、还有农历年、闰年 用java语言编写一个万年历程序,要求只显示阳历、节日、还有农历年、闰年 用for语句写java万年历 用for语句写java万年历 用java编写的万年历 用java编写万年历 人保财险地市级公司为什么叫分公司,人保寿险地市级公司为什么叫中心支公司 中信保诚人寿保险有限公司济南中心支公司怎么样? 中信保诚人寿保险有限公司东莞中心支公司怎么样? 保险公司的中心支公司的下级机构是否是支公司 计划单列市和普通地级市的保险公司中心支公司有差别吗? 保险公司的电销中心与保险公司是什么关系,是一家企业吗 别人都说50岁是金婚60岁是钻石婚70岁是白金婚那80岁又是什么婚?