Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import javax.swing.*;
- import java.awt.*;
- /**
- * ImagePanel adalah Swing Component yang bisa menampilkan OFImage.
- * ini terkonstruksi sebagai subclass dari JComponent dengan tambahan fungsional
- * dari pengaturan OFImage yang akan ditampilkan pada permukaan komponen ini
- */
- public class ImagePanel extends JComponent {
- //panjang dan lebar dari panel sekarang
- private int width, height;
- //sebuah internal image buffer untuk painting.
- // untuk displaynya, image buffer ini di-copy ke layar
- private OFImage panelImage;
- /**
- * membuat ImagePanel yang baru dan kosong
- */
- public ImagePanel(){
- width = 1280; //ukuran ini bebas ya untuk panel kosong
- height = 720;
- panelImage =null;
- }
- /**
- * mengatur gambar yang akan ditampilkan
- * @param image
- */
- public void setImage(OFImage image){
- if(image!=null){
- width = image.getWidth();
- height = image.getHeight();
- panelImage = image;
- repaint();
- }
- }
- /**
- * menghapus gambar pada panel
- */
- public void clearImage()
- {
- Graphics imageGraphics = panelImage.getGraphics();
- imageGraphics.setColor(Color.LIGHT_GRAY);
- imageGraphics.fillRect(0,0, width,height);
- repaint();
- }
- // methods di bawah ini merupakan warisan(inherited)
- // dari superclass
- /**
- * memberitahu layout manager bagaimana besar yang kita mau
- * (method ini dipanggi oleh layout manager untuk menaruh
- * komponen)
- *
- * @return dimensi yang cocok untuk komponen
- */
- public Dimension getPreferredSize(){
- return new Dimension(width,height);
- }
- public void paintComponent(Graphics g)
- {
- Dimension size = getSize();
- g.clearRect(0,0,size.width, size.height);
- if(panelImage!=null){
- g.drawImage(panelImage, 0, 0, null);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement