RSS
Selamat Datang di FadhilFCR.Blog.

SWING X

Apa kelebihan SwingX?  SwingX menawarkan fitur-fitur ekstra yang tidak ditemui di Swing secara siap jadi. Sebagai contoh, ada yang disebut sebagai Highlighter, untuk memberi highlight (bisa berupa warna background berbeda dan sebagainya) pada sel tertentu di JXTableJXListJXTree, dan sebagainya.  Komponen yang diawali JX kebanyakan adalah turunan dari komponen Swing standar, misalnya JXTable adalah turunan dari JTable.  Demikian juga,JXComboBox adalah turunan dari JComboBox.  JXComboBox sudah mendukung fitur highlight dengan adanya fungsi addHighlighter().  Jika kita ingin menampilkan nilai dibawah 50 dengan background merah di JXComboBox, kita dapat menggunakan ColorHighlighter, salah satu implementasi dari Highlighter, seperti pada contoh berikut ini:

import java.awt.Color;
import java.awt.Component;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import org.jdesktop.swingx.JXComboBox;
import org.jdesktop.swingx.decorator.ColorHighlighter;
import org.jdesktop.swingx.decorator.ComponentAdapter;
import org.jdesktop.swingx.decorator.HighlightPredicate;

public class App extends JFrame
{    
    private JXComboBox cboTest;
    
    
    public App() {
        super("Latihan SwingX");

        cboTest = new JXComboBox(new Integer[] {100, 50, 30, 80, 70, 45, 50, 60});    
        ColorHighlighter colorHighlight = new ColorHighlighter();
        colorHighlight.setBackground(Color.RED);
        colorHighlight.setForeground(Color.WHITE);        
        colorHighlight.setHighlightPredicate(new HighlightPredicate() {

            @Override
            public boolean isHighlighted(Component renderer, ComponentAdapter adapter) {
                if ((Integer)adapter.getValue() < 50) {
                    return true;
                } else {
                    return false;
                }
            }
            
        });
        
        cboTest.addHighlighter(colorHighlight);
                
        setLayout(new FlowLayout());        
        add(cboTest);
        add(new JButton("TEST"));
        
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(500,500);
        setVisible(true);
    }
    
    public static void main( String[] args )
    {
        new App();
    }
}

Hasil dari tampilan program di atas akan terlihat seperti:
ComboBox dengan ColorHighlighter
ComboBox dengan ColorHighlighter
Pada program di atas, fungsi setHighlightPredicate() di ColorHighlighter akan memeriksa apakah suatu nilai perlu di-highlight atau tidak (berdasarkan nilai kembalian true atau false).
Selain itu, SwingX juga menawarkan komponen baru, seperti JXDatePicker. Ini adalah contoh komponen yang sering dibutuhkan oleh aplikasi, tetapi tidak disediakan oleh Swing secara langsung.  Berikut ini adalah contoh tampilanJXDatePicker:
Contoh Tampilan JXDatePicker
Tampilan JXDatePicker
SwingX juga memiliki kotak dialog siap pakai, seperti JXTipOfTheDay, yang umum dipakai untuk menampilkan tips di program.  Berikut ini adalah contoh potongan kode program yang mempergunakan JXTipOfTheDay:

tipOfTheDay = new JXTipOfTheDay();
tipOfTheDay.setModel(new TipOfTheDayModel() {

    private Tip[] tips = {
       new Tip() {

           @Override
           public String getTipName() {
               return "Tips 1";
           }

           @Override
           public Object getTip() {
               return "Tahukah Anda SwingX menyediakan komponen siap jadi?";
           }
       },
                
       new Tip() {

          @Override
          public String getTipName() {
               return "Tip 2";
          }

          @Override
          public Object getTip() {
               return "Anda bisa membuat table dengan highlighter di SwingX";
          }
       } 
   };     
           
   @Override
   public int getTipCount() {
       return tips.length;
   }

   @Override
   public Tip getTipAt(int index) {                                
       return tips[index];
   }
});

tipOfTheDay.setCurrentTip(1);        
tipOfTheDay.showDialog(this);


Contoh tampilan program di atas akan terlihat seperti:
Contoh Tampilan JXTipOfTheDay
Tampilan JXTipOfTheDay
READ MORE - SWING X

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS
 
Copyright 2009 FadhilFCR Zone.. All rights reserved.
Free WordPress Themes Presented by EZwpthemes.
Bloggerized by Miss Dothy