Priscilliaagnes's Blog

April 23, 2010

OOP week 11

Filed under: Uncategorized — Priscillia @ 1:55 pm

Pada hari Rabu, 21 April 2010 diadakan kelas OOP week ke-11 pada pk 8.20-11.40.  Pada pertemuan OOP tersebut diajarkan mengenai:

JFC adalah singkatan dari Java Foundation Class, yang mencakup kelompok fitur untuk membangun graphics user interface(GUI) dan menambahkan fungsionalitas yang kaya grafis dan interaktivitas untuk aplikasi Java. Ia didefinisikan sebagai berisi fitur di bawah ini.

  • Komponen Swing GUI : Termasuk semua dari tombol untuk membagi panel untuk tabel. Banyak komponen mampu memilah, percetakan, dan drag dan drop, untuk beberapa nama fitur yang didukung.
  • Pluggable Look-and-Feel Support : Tampilan dan nuansa Swing aplikasi yang pluggable, memungkinkan pilihan tampilan dan nuansa. Sebagai contoh, program yang sama dapat menggunakan salah satu Java atau Windows tampilan dan nuansa. Selain itu, platform Java mendukung GTK + terlihat dan terasa, yang membuat ratusan terlihat dan terasa ada yang tersedia untuk Swing program paket. Banyak yang lebih tampak-dan-merasa yang tersedia dari berbagai sumber.
  • Aksesibilitas API : Mengaktifkan teknologi bantu, seperti pembaca layar dan menampilkan Braille, untuk mendapatkan informasi dari antarmuka pengguna.
  • Java 2D API : Memungkinkan pengembang untuk dengan mudah menggabungkan grafis 2D kualitas-tinggi, teks, dan gambar dalam aplikasi dan applet. Java 2D API ekstensif mencakup untuk menghasilkan dan mengirimkan output yang berkualitas tinggi untuk perangkat pencetakan.
  • Internasionalisasi :  Memungkinkan pengembang untuk membangun aplikasi yang dapat berinteraksi dengan pengguna di seluruh dunia dalam bahasa mereka sendiri dan konvensi budaya. Dengan kerangka metode input pengembang dapat membangun aplikasi yang menerima teks dalam bahasa yang menggunakan ribuan karakter yang berbeda, seperti Jepang, Cina, atau Korea.

Swing API sangat kuat, fleksibel – dan besar. API Swing memiliki 18 paket umum:

javax.accessibility javax.swing.plaf javax.swing.text
javax.swing javax.swing.plaf.basic javax.swing.text.html
javax.swing.border javax.swing.plaf.metal javax.swing.text.html.parser
javax.swing.colorchooser javax.swing.plaf.multi javax.swing.text.rtf
javax.swing.event javax.swing.plaf.synth javax.swing.tree
javax.swing.filechooser javax.swing.table javax.swing.undo
1. public void loadMap(String filename) throws SMException {
        String s;
        int x = 0, y = 0;
        Map vs = new HashMap();
        IVehicle v;
        BufferedReader bf = null;

        try {
            bf = new BufferedReader(new FileReader(filename));

            while (null != (s = bf.readLine())) {
                StringTokenizer st = new StringTokenizer(s, ",");
                if (y == 0) {
                    width = st.countTokens();
                    map = new char[width][width];
                }
                x = 0;
                while (st.hasMoreTokens()) {
                    // decode the token
                    map[x][y] = st.nextToken(",").charAt(0);

                    if ('0' != map[x][y]) {
                        String vid = String.valueOf(map[x][y]);
                        v = (IVehicle) vs.get(vid);
                        if (null == v) {
                            v = new SimpleCar();
                            v.setName(vid);
                            vs.put(vid, v);
                        }
                        v.addLocation(x, y);
                    }
                    x++;
                }
                y++;
            }
        } catch (Exception e) {
            map = null;
            vehicles = null;
            throw new SMException(e);
        } finally {
            if (null != bf) {
                try {bf.close();} catch(Exception ignored){}
            }
        }
        vehicles = new HashSet();
        vehicles.addAll(vs.values());
    }

2. private String name;
    private Collection locations = new ArrayList();

    public void addLocation(int x, int y) {
        locations.add(new Point(x, y));
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public boolean isHorizontal() {
        boolean result = true;
        int y = -1, j = 0;
        for (Iterator i = locations.iterator(); i.hasNext(); j++) {
            Point p = (Point) i.next();
            if (j == 0) {
                y = p.y;
            } else if (y != p.y) {
                result = false;
            }
        }
        return result;
    }

    public boolean isVertical() {
        boolean result = true;
        int x = -1, j = 0;
        for (Iterator i = locations.iterator(); i.hasNext(); j++) {
            Point p = (Point) i.next();
            if (j == 0) {
                x = p.x;
            } else if (x != p.x) {
                result = false;
            }
        }
        return result;
    }

    @Override
    public String toString() {
        StringBuffer s = new StringBuffer().append(name).append(":");
        for (Iterator i = locations.iterator(); i.hasNext();) {
            Point p = (Point) i.next();
            s.append("[").append(p.x).append(",").append(p.y).append("]");
        }
        s.append(":");
        if (isHorizontal()) {
            s.append("H");
        }
        if (isVertical()) {
            s.append("V");
        }
        return s.toString();
    }

Demikian pada pelajaran hari ini. Sampai jumpa minggu depan.....

Advertisements

Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Create a free website or blog at WordPress.com.

%d bloggers like this: