Contoh Code JPanel pada Pemrograman Java untuk Pemula
Dalam menggunakan Java Graphic User Interface , mau tidak mau, kita pasti menggunakan Jpanel. Boleh dikatakan bahwa Jpanel bisa difungsikan sebagai dasar untuk hampir semua obyek visual. Cara mengalokasikannya, drop komponen ke dalam JPanel, kemudian tambahkan JPanel ke beberapa kontainer. 

JPanel juga bertindak sebagai pengganti kanvas. Bila menggunakan JPanel sebagai daerah menggambar sebagai pengganti kanvas, ada langkah tambahan yang biasanya harus dilakukan. 

Kita harus mengatur ukuran yang diinginkan melalui method / metode setPreferredSize.Ukuran yang diinginkan hanya ukuran saat ini, sementara JPanel menentukan ukuran yang diinginkan dari komponen yang ada didalamnya. 

Bila kita menggunakan swing di Java 1.2, kita dapat melemparkan objek ke objek Graphics Graphics2D dan melakukan segala macam hal baru yang ditambahkan dalam paket Java2D.
Selain double buffering, fitur baru yang paling jelas adalah kemampuan untuk menetapkan border untuk JPanels. Swing memberikan tujuh jenis border dasar. Kita juga dapat membuat sendiri jenis border. 

Anda menetapkan border melalui metode setBorder, dan menciptakan Border baik dengan memanggil konstruktor secara langsung, atau dengan menggunakan salah satu metode createTitledBorder, createEtchedBorder, createBevelBorder, createRaisedBevelBorder, createLoweredBevelBorder, createLineBorder, createMatteBorder, createCompoundBorder, dan createEmptyBorder.

Kelebihan lain JPanel memungkinkan Anda menyediakan LayoutManager untuk konstruktor di samping menentukan melalui setLayout.

Contoh berikut mengalokasikan empat jenis panel border, dibentuk untuk terlihat seperti sebuah program gambar sederhana. Yang besar di sebelah kiri menggunakan LineBorder, sementara tiga lainnya digunakan TitledBorder.

import java.awt.*;
import javax.swing.*;

public class JPanels extends JFrame {
  public static void main(String[] args) {
    new JPanels();
  }

  public JPanels() {
    super(“Using JPanels with Borders”);
    WindowUtilities.setNativeLookAndFeel();
    addWindowListener(new ExitListener());
    Container content = getContentPane();
    content.setBackground(Color.lightGray);
    JPanel controlArea = new JPanel(new GridLayout(3, 1));
    String[] colors = { “Red”, “Green”, “Blue”,
                        “Black”, “White”, “Gray” };
    controlArea.add(new SixChoicePanel(“Color”, colors));
    String[] thicknesses = { “1”, “2”, “3”, “4”, “5”, “6” };
    controlArea.add(new SixChoicePanel(“Line Thickness”,
                                       thicknesses));
    String[] fontSizes = { “10”, “12”, “14”, “18”, “24”, “36” };
    controlArea.add(new SixChoicePanel(“Font Size”,
                                       fontSizes));
    content.add(controlArea, BorderLayout.EAST);
    JPanel drawingArea = new JPanel();
    drawingArea.setPreferredSize(new Dimension(400, 0));
    drawingArea.setBorder(BorderFactory.createLineBorder (Color.blue, 2));
    drawingArea.setBackground(Color.white);
    content.add(drawingArea, BorderLayout.WEST);
    pack();
    setVisible(true);
  }
}

SixChoicePanel.java

import java.awt.*;
import javax.swing.*;

public class SixChoicePanel extends JPanel {
  public SixChoicePanel(String title, String[] buttonLabels) {
    super(new GridLayout(3, 2));
    setBackground(Color.lightGray);
    setBorder(BorderFactory.createTitledBorder(title));
    ButtonGroup group = new ButtonGroup();
    JRadioButton option;
    int halfLength = buttonLabels.length/2;  // Assumes even length
    for(int i=0; i<halfLength; i++) {
      option = new JRadioButton(buttonLabels[i]);
      group.add(option);
      add(option);
      option = new JRadioButton(buttonLabels[i+halfLength]);
      group.add(option);
      add(option);
    }
  }
}
Please like & share:

About

> Governance Officer > Blogger from Semarang, Indonesia > (Pingin Jadi) Writer > Lecturer

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *