Kod Sumber Kalendar Applet
import java.awt.*; import java.awt.event.*; import java.util.*; import java.text.*; import java.applet.*; public class Kalendar_Applet extends Applet implements ActionListener { Bulan ins = null; TextField text = null; public void init() { //Membuat penginstiharan setiap pembolehubah ins = new Bulan(getSize()); text = new TextField(20); Label bb2 = new Label("Sila Masukkan Bulan/Tahun(BB/TTTT)"); Panel shortPanel = new Panel(); text.addActionListener(this); shortPanel.setLayout(new FlowLayout()); shortPanel.add(text); shortPanel.add(bb2); setLayout(new BorderLayout()); add(ins,BorderLayout.CENTER); add(shortPanel,BorderLayout.SOUTH); } public void actionPerformed(ActionEvent event){//menangani peristiwa actionPerformed ins.setEntry("01/"+text.getText().trim() ) ; text.setText(""); ins.repaint(); repaint(); } } class Bulan extends Panel { private final String[] Hari = {"Ahad","Isnin","Selasa","Rabu","Khamis","Jumaat","Sabtu"} ; private final String[] Bulan = {"Januari","Febuari","Mac", "April","Mei","Jun","Julai","Ogos","September","Oktober", "November","Desember"} ; //membuat pengistihanran pembolehubah private int x=0; private int y=0; private GregorianCalendar Kalendar = null; private String entry = null; private Date TARIKH=null; public Bulan(Dimension d){ setSize(new Dimension(d.width,d.height-60)); } public void setEntry(String entry){ this.entry=entry; } public Point nextPoint(int x, int y){ int j = getSize().width/8; int z = y ; int w = x + j; if (w >(7*j)) {w=j/2; z+=35;} return new Point(w,z); } public void paint(Graphics g){ int y = getSize().width/8; try{ if (TARIKH==null){ TARIKH= new Date(); Kalendar = new GregorianCalendar(); Kalendar.setTime(TARIKH); int mmm = Kalendar.get(Calendar.MONTH) ; int yyy = Kalendar.get(Calendar.YEAR) ; entry = "01/"+(mmm+1)+"/"+yyy; } TARIKH = DateFormat.getDateInstance (DateFormat.SHORT,Locale.FRANCE).parse(entry); Kalendar = new GregorianCalendar(); Kalendar.setTime(TARIKH); } catch(ParseException e){System.out.println(e);}; int mm = Kalendar.get(Calendar.MONTH) ; int yy = Kalendar.get(Calendar.YEAR) ; int pp = Kalendar.get(Calendar.DAY_OF_WEEK) ; //memaparkan bulan dan tahun String title = "Kalendar untuk "+Bulan[mm]+" "+yy; Font font = new Font("Serif",Font.ITALIC,22); g.setFont(font); g.setColor(Color.blue); FontMetrics metrics = getFontMetrics(font); g.drawString(title,(getSize().width- metrics.stringWidth(title))/2,25); g.setFont(new Font("Serif",Font.BOLD,18));//pilihan font g.setColor(Color.green); for(int i=0,z=y/2; i<7;i++,z+=y){ g.drawString(Hari[i],z,65); } int num; switch(mm){ case 0: case 2: case 4: case 6: case 7: case 9: case 11: num=31; break; case 1: if((Kalendar.isLeapYear(yy))&&(yy%1000!=0)) num=29; else num=28; break; default: num=30; } Point[] points = new Point[num]; g.setFont(new Font("Roman",Font.BOLD,20)); g.setColor(Color.black); points[0]=new Point(y/2+((pp-1)*y),100); g.drawString("1",points[0].x,points[0].y); for(int i=0; i
Design by myus1119