500ddcom
Calendario perpetuo Java-Clock
El código de clock.java es el siguiente:
/**
* Clock.java
* Visualización resumida de la hora digital
* Creado el 2005-8-14
* @author 高?
* comentario Por favor envíe un copia si hay algún cambio Dame el código por correo electrónico: gkgklovelove@eyou.com
*/
package Clock;
import javax.swing.* ;
importar java.awt.*;
importar java.awt.event.*;
importar java.text.*;
importar java.util.* ;
clase Reloj extiende Canvas implementa Runnable{
MainFrame mf;
Hilo t;
Hora de cadena;
Reloj(MainFrame mf){
this.mf=mf;
setSize(400,40);
setBackground(Color.white);
t=new Thread(this); //Crear una instancia del hilo
t.start() //Llamar al hilo
}
public void run(){
while(true){
prueba{
t.sleep(1000); /Dormir durante 1 segundo p>
}catch(InterruptedException e){
System.out.println("Exception");
}
this.repaint(100 );
}
}
pintura vacía pública (Gráficos g){
Fuente f= new Font("宋体", Font.BOLD,16);
SimpleDateFormat SDF=new SimpleDateFormat("aaaa'año'MM'mes'dd'día'HH:mm:ss");// Formatear el tipo de visualización de la hora p>
Calendar now=Calendar.getInstance();
time=SDF.format(now.getTime()); //Obtener la fecha y hora actuales p>
Calendar now=Calendar.getInstance();
time=SDF.format(now.getTime()); p>
g setFont(f);
g.setColor(Color.orange);
g.drawString(time,100,25);
}
Marco principal. El código java es el siguiente:
/**
* MainFrame.java
* Resumen de la clase principal del calendario perpetuo
* Creado
el 2005-8-14
* @author 高?
* comentario Si hay algún cambio, envíeme una copia del código a gkgklovelove@eyou.com
*/
paquete Reloj;
importar javax.swing.*;
importar java.awt.*;
importar java.awt.event.*;
importar java.text.*;
importar java.util.*;
la clase MainFrame extiende JFrame{
JPanel panel=nuevo JPanel(nuevo BorderLayout());
JPanel panel1=nuevo JPanel();
JPanel panel2=nuevo JPanel(nuevo GridLayout( 7,7 ));
JPanel panel3=nuevo JPanel();
JLabel []label=nuevo JLabel[49];
JLabel y_label=nuevo JLabel("Año");
JLabel m_label=new JLabel("Mes");
JComboBox com1=new JComboBox();
JComboBox com2= new JComboBox( );
JButton button=new JButton("Ver");
int re_year,re_month;
int x_size,y_size;
String year_num;
Calendar now=Calendar.getInstance(); //Crear una instancia del calendario
MainFrame(){
super("Calendario permanente ");
setSize(300,350);
x_size=(int)(Toolkit.getDefaultToolkit().getScreenSize().getWidth());
y_size=( int)(Toolkit.getDefaultToolkit().getScreenSize().getHeight());
setLocation((x_size-300)/2,(y_size-350)/2);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel1.add(y_label);
panel1.add(com1);
panel1.add( m_label);
panel1.add(com2);
panel1.add(botón);
for(int i=0;i<49;i++ ){
etiqueta[i]=nueva JL
abel("",JLabel.CENTER);//Establece que los caracteres mostrados estén centrados
panel2.add(label[i]);
}
panel3.add(nuevo Reloj(este));
panel.add(panel1,BorderLayout.NORTH);
panel.add(panel2,BorderLayout.CENTER); p> p>
panel.add(panel3,BorderLayout.SOUTH);
panel.setBackground(Color.blanco);
panel1.setBackground(Color.blanco);
p>
panel2.setBackground(Color.blanco);
panel3.setBackground(Color.blanco);
Init(); p>
botón. addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
int c_year,c_month,c_week;
c_year=Integer.parseInt(com1 .getSelectedItem().toString()); //Obtener el año seleccionado actualmente
c_month=Integer.parseInt(com2.getSelectedItem().toString())-1; //Obtiene el mes actual y resta 1, el mes en la computadora es 0-11
c_week=use(c_year,c_month); //Llama a la función use para obtener el día de la semana
p>Resetday(c_week,c_year,c_month ); // Llamar a la función Resetday
}});
setContentPane(panel);
setVisible (verdadero);
setResizable (falso);
}
public void Init(){
int año,mes_num,primer_día_num ;
String log[] ={"日","一","二","三","四","五","六"};
for(int i=0;i<7;i++ ){
etiqueta[i].setText(log[i]);
}
para (int i=0;i<49;i= i+7){
label[i].setForeground(Color.red); //Establece la fecha del domingo en rojo<
/p>
}
for(int i=6;i<49;i=i+7){
etiqueta[i].setForeground(Color.verde) ;//Establece la fecha del sábado en verde
}
for(int i=1;i<10000;i++){
com1.addItem( "" +i);
}
for(int i=1;i<13;i++){
com2.addItem(""+i);
}
Month_num=(int)(now.get(Calendar.MONTH)); //Obtiene el mes de la hora actual
año=( int)(now.get(Calendar.YEAR)); //Obtener el año de la hora actual
com1.setSelectedIndex(year-1); //Establecer la lista desplegable para mostrar la hora actual año
com2.setSelectedIndex(month_num); //Configura la lista desplegable para mostrar el mes actual
first_day_num=use(year,month_num);
Resetday(first_day_num,year,month_num);
}
public int use(int reyear,int remonth){
int semana_num;
now.set(reyear,remonth ,1); //Establece la hora en el primer día del año y mes a consultar
week_num= (int)(now.get(Calendar. DAY_OF_WEEK)); //Obtener el primer día de la semana
returnweek_num;
}
public void Resetday(intweek_log,intyear_log,intmonth_log ){
int Month_score_log; // Determinar si es una marca de año bisiesto
int Month_day_score; //Almacenar el número de días del mes
int; contar;
mes_score_log=0;
mes_día_score=0;
contar=1;
if(year_log%4==0&&year_log %100!=0||year_log%400==0){//Juzga si es año bisiesto
month_score_log=1;
}
month_log =month_log+1; //Agrega 1 al número del mes pasado
switch(month_log){
caso 1:
caso 3:
caso
5:
caso 7:
caso 8:
caso 10:
caso 12:
mes_día_puntuación =31;
ruptura;
caso 4:
caso 6:
caso 9:
caso 11:
month_day_score=30;
descanso;
caso 2:
if(month_score_log==1){
mes_día_score=29;
}
más{
mes_día_score=28;
}
break;
}
for(int i=7;i<49;i++){ //Inicializar etiqueta
label[i].setText( "");
}
week_log=week_log+6; //Agregue 6 al número de semana para que la visualización sea correcta
month_day_score=month_day_score+week_log ;
for(int i=week_log;i etiqueta[i].setText(count+""); } } public static void main(String [] args){ JFrame.setDefaultLookAndFeelDecoated(true); Inicio de MainFrame =nuevo Marco Principal(); } }