⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jframe.java

📁 it s important.....bucuo bucuo
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
    private void jComboBox2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jComboBox2ActionPerformed        // TODO 将在此处增加您的处理代码:    }//GEN-LAST:event_jComboBox2ActionPerformed    private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jComboBox1ActionPerformed        // TODO 将在此处增加您的处理代码:    }//GEN-LAST:event_jComboBox1ActionPerformed    private void jComboBox1ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jComboBox1ItemStateChanged    month=jComboBox1.getSelectedIndex()+1;//System.out.print(moh);changedate();    // TODO 将在此处增加您的处理代码:    }//GEN-LAST:event_jComboBox1ItemStateChanged    private void jSpinner1StateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_jSpinner1StateChanged       year=new Integer(jSpinner1.getValue().toString()).intValue();       if (year>2099 || year<1980)           year=1980;       jSpinner1.setValue(new Integer(year));            changedate();  // TODO 将在此处增加您的处理代码:    }//GEN-LAST:event_jSpinner1StateChanged     void changedate()    {        int total,week,i,day1=1,n=0,l=1,temp=0,j,k;boolean leap=false;       leap = (year%400==0)| (year%100!=0) & (year%4==0);        week =1;                            //起始日 1979-12-31 is Monday         total = year-1980+(year-1980+3)/4;       //求平(闰)年累计的总天数        for (i=1;i<=month-1;i++)                 //当年的累计天数            switch  (i)            {                case 1:                case 3:                case 5:                case 7:                case 8:                case 10:                case 12: total=total+31;                          break;                case 4:                 case 6:                 case 9:                 case 11: total=total+30;                          break;                case 2:  if (leap)                             total=total+29;                         else                              total=total+28;                         break;             }            switch  (month)//本月天数            {                case 1:                case 3:                case 5:                case 7:                case 8:                case 10:                case 12: n=n+31;                          break;                case 4:                 case 6:                 case 9:                 case 11: n=n+30;                          break;                case 2:  if (leap)                             n=n+29;                         else                              n=n+28;                         break;             }        total = total+day1;                       //当月的天数        week = (week+total) % 7;                 //求得星期几               Object datetime[][]=new Object [][] {                {null,null,null,null,null, null,null},                {null, null,null, null, null, null,null},                {null,  null,  null,  null, null, null, null},                {null,  null,  null, null,  null,  null, null},                {null, null, null,  null, null,  null,  null},                {null, null,  null, null, null, null, null},                {null, null, null,null, null,null, null}            };        for(j=0;j<7;j++)            for(k=0;k<7;k++)            {                if(k==week)                temp=1;                //System.out.print(n);                if(n+1==l)                {                    temp=0;                }                                if(temp==1)                {                    datetime[j][k]=new Integer(l);                    l++;                   }                            }jTable1.setModel(new javax.swing.table.DefaultTableModel(            datetime,            new String [] {                "标题 1", "标题 2", "标题 3", "标题 4", "标题 5", "标题 6", "标题 7"            }        ) );        String ss;        jTable1.clearSelection();        for(int ii=0;ii<=5;ii++)            for(int jj=0;jj<=6;jj++){            if(jTable1.getValueAt(ii,jj)==null)            {                ss="0";            }            else            {                ss=jTable1.getValueAt(ii,jj).toString();            }                int o=new Integer(ss).intValue();                if(new Date().getDate()==o)                    jTable1.changeSelection(ii,jj,true,false);            }                        }     /** Exit the Application */    private void exitForm(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_exitForm        System.exit(0);    }//GEN-LAST:event_exitForm        public static void main(String args[]) {       JFrame a= new JFrame();       a.show();       shizhong=a.new xiancheng();      shizhong.start();           }                // 变量声明 - 不进行修改//GEN-BEGIN:variables    private javax.swing.JButton jButton1;    private javax.swing.JButton jButton2;    private javax.swing.JButton jButton3;    private javax.swing.JComboBox jComboBox1;    private javax.swing.JComboBox jComboBox2;    private javax.swing.JLabel jLabel1;    private javax.swing.JLabel jLabel2;    private javax.swing.JPanel jPanel1;    private javax.swing.JPanel jPanel2;    private javax.swing.JPanel jPanel3;    private javax.swing.JPanel jPanel4;    private javax.swing.JPanel jPanel5;    private javax.swing.JSpinner jSpinner1;    private javax.swing.JSpinner jSpinner2;    private javax.swing.JTabbedPane jTabbedPane1;    private javax.swing.JTable jTable1;    private javax.swing.JTable jTable2;    // 变量声明结束//GEN-END:variables    public GregorianCalendar getTime(String zone){        TimeZone currentTime;	currentTime=TimeZone.getTimeZone(zone);	TimeZone.setDefault(currentTime);        GregorianCalendar cal = new GregorianCalendar();	return cal;    }    class clock extends Canvas{        int lastxs=0,lastys=0,lastxm=0,lastym=0,lastxh=0,lastyh=0;     public void paint(Graphics g)                  //显示数字和图形时钟    {               int xh, yh, xm, ym, xs, ys, s, m, h, xcenter, ycenter;        Date rightnow = new Date();                //获取当前日期和时间        String today = rightnow.toLocaleString();  //时间对应的字符串        s = rightnow.getSeconds();        m = rightnow.getMinutes();        h = rightnow.getHours();        xcenter=85;                                //图形钟的原点        ycenter=65;                      //以下计算秒针、分针、时针位置        xs = (int)(Math.cos(s * 3.14f/30 - 3.14f/2) * 45 + xcenter);        ys = (int)(Math.sin(s * 3.14f/30 - 3.14f/2) * 45 + ycenter);        xm = (int)(Math.cos(m * 3.14f/30 - 3.14f/2) * 40 + xcenter);        ym = (int)(Math.sin(m * 3.14f/30 - 3.14f/2) * 40 + ycenter);        xh = (int)(Math.cos((h*30+m/2)*3.14f/180-3.14f/2)*30+xcenter);        yh = (int)(Math.sin((h*30+m/2)*3.14f/180-3.14f/2)*30+ycenter);        g.setFont(new Font("TimesRoman", Font.PLAIN, 14));        g.setColor(Color.blue);        g.drawArc(xcenter-50,ycenter-50,100,100,0,360);    //画圆和数字        g.setColor(Color.darkGray);        g.drawString("9",xcenter-45,ycenter+6);         g.drawString("3",xcenter+40,ycenter+6);        g.drawString("12",xcenter-7,ycenter-37);        g.drawString("6",xcenter-3,ycenter+45);        g.drawLine((int)(Math.cos(50 * 3.14f/30 - 3.14f/2) * 35 + xcenter), (int)(Math.sin(50 * 3.14f/30 - 3.14f/2) * 35 + ycenter), (int)(Math.cos(50 * 3.14f/30 - 3.14f/2) * 45 + xcenter), (int)(Math.sin(50 * 3.14f/30 - 3.14f/2) * 45 + ycenter));        g.drawLine((int)(Math.cos(55 * 3.14f/30 - 3.14f/2) * 35 + xcenter),(int)(Math.sin(55 * 3.14f/30 - 3.14f/2) * 35 + ycenter), (int)(Math.cos(55 * 3.14f/30 - 3.14f/2) * 45 + xcenter), (int)(Math.sin(55 * 3.14f/30 - 3.14f/2) * 45 + ycenter));        g.drawLine((int)(Math.cos(40 * 3.14f/30 - 3.14f/2) * 35 + xcenter), (int)(Math.sin(40 * 3.14f/30 - 3.14f/2) * 35 + ycenter), (int)(Math.cos(40 * 3.14f/30 - 3.14f/2) * 45 + xcenter), (int)(Math.sin(40 * 3.14f/30 - 3.14f/2) * 45 + ycenter));        g.drawLine((int)(Math.cos(35 * 3.14f/30 - 3.14f/2) * 35 + xcenter), (int)(Math.sin(35 * 3.14f/30 - 3.14f/2) * 35 + ycenter), (int)(Math.cos(35 * 3.14f/30 - 3.14f/2) * 45 + xcenter), (int)(Math.sin(35 * 3.14f/30 - 3.14f/2) * 45 + ycenter));        g.drawLine((int)(Math.cos(25 * 3.14f/30 - 3.14f/2) * 35 + xcenter), (int)(Math.sin(25 * 3.14f/30 - 3.14f/2) * 35 + ycenter), (int)(Math.cos(25 * 3.14f/30 - 3.14f/2) * 45 + xcenter), (int)(Math.sin(25 * 3.14f/30 - 3.14f/2) * 45 + ycenter));        g.drawLine((int)(Math.cos(20 * 3.14f/30 - 3.14f/2) * 35 + xcenter), (int)(Math.sin(20 * 3.14f/30 - 3.14f/2) * 35 + ycenter), (int)(Math.cos(20 * 3.14f/30 - 3.14f/2) * 45 + xcenter), (int)(Math.sin(20 * 3.14f/30 - 3.14f/2) * 45 + ycenter));        g.drawLine((int)(Math.cos(10 * 3.14f/30 - 3.14f/2) * 35 + xcenter), (int)(Math.sin(10 * 3.14f/30 - 3.14f/2) * 35 + ycenter), (int)(Math.cos(10 * 3.14f/30 - 3.14f/2) * 45 + xcenter), (int)(Math.sin(10 * 3.14f/30 - 3.14f/2) * 45 + ycenter));        g.drawLine((int)(Math.cos(5 * 3.14f/30 - 3.14f/2) * 35 + xcenter), (int)(Math.sin(5 * 3.14f/30 - 3.14f/2) * 35 + ycenter), (int)(Math.cos(5 * 3.14f/30 - 3.14f/2) * 45 + xcenter), (int)(Math.sin(5 * 3.14f/30 - 3.14f/2) * 45 + ycenter));        //时间变化时,需要重新画各个指针,即先消除原有指针,然后画新指针        g.setColor(getBackground());  //用背景色画线,可以消除原来画的线        if (xs != lastxs || ys != lastys)          //秒针变化        {            g.drawLine(xcenter, ycenter, lastxs, lastys);            g.drawString(today, 5, 150);           //消除数字时钟        }        if (xm != lastxm || ym != lastym)          //分针变化        {            g.drawLine(xcenter, ycenter-1, lastxm, lastym);            g.drawLine(xcenter-1, ycenter, lastxm, lastym);         }        if (xh != lastxh || yh != lastyh)          //时针变化        {            g.drawLine(xcenter, ycenter-1, lastxh, lastyh);            g.drawLine(xcenter-1, ycenter, lastxh, lastyh);         }       // g.stColor(Color.darkGray);                //显示数字时钟        g.drawString(today, 5, 150);          g.setColor(Color.blue);                    //画新指针        g.drawLine(xcenter, ycenter, xs, ys);        g.drawLine(xcenter, ycenter-1, xm, ym);        g.drawLine(xcenter-1, ycenter, xm, ym);        g.drawLine(xcenter, ycenter-1, xh, yh);        g.drawLine(xcenter-1, ycenter, xh, yh);        lastxs=xs; lastys=ys;                      //保存指针位置        lastxm=xm; lastym=ym;        lastxh=xh; lastyh=yh;            }    }    class xiancheng implements Runnable    {    Thread timer=null;    Date rightnow;     //int lastxs=0,lastys=0,lastxm=0,lastym=0,lastxh=0,lastyh=0;    public void start()     {         if(timer==null)         {             timer=new Thread(this);             timer.start();         }     }     public void stop()     {         timer=null;     }          public void run()                    //每隔一秒钟,刷新一次画面    {        while (timer!= null)         {             try              {                 Thread.sleep(1000);             }             catch (InterruptedException e) {}           // jSpinner2.setModel(new javax.swing.SpinnerDateModel());               clockimage.repaint();             jSpinner2.setEditor(new JSpinner.DateEditor(jSpinner2,"a HH:mm:ss"));            jSpinner2.setValue(new Date());                    clockimage.repaint();              //调用paint()方法重画时钟        }        timer = null;    }             }      public void update(Graphics g)    {        paint(g);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -