import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
public class Latihan extends JFrame implements ActionListener {
JComboBox comboBentuk, comboGaris, comboWarna;
JLabel lblBentuk, lblGaris, lblWarna;
JButton btnGambar;
String[] isiBentuk = {"Persegi", "Lingkaran", "Segitiga", "Belah Ketupat"};
String[] isiGaris = {"Tebal", "Tipis", "Putus2"};
String[] isiWarna = {"Hijau", "Biru", "Hitam"};
JPanel panelCombo, panelGambar, panelButton;
public Latihan(){
lblBentuk = new JLabel("Objek :");
comboBentuk = new JComboBox(isiBentuk);
lblGaris = new JLabel("Garis :");
comboGaris = new JComboBox(isiGaris);
lblWarna = new JLabel("Warna :");
comboWarna = new JComboBox(isiWarna);
btnGambar = new JButton("GAMBAR");
panelCombo = new JPanel();
panelCombo.add(lblBentuk);
panelCombo.add(comboBentuk);
panelCombo.add(lblGaris);
panelCombo.add(comboGaris);
panelCombo.add(lblWarna);
panelCombo.add(comboWarna);
panelGambar = new PanelGambar();
panelButton = new JPanel();
panelButton.setLayout(new FlowLayout());
panelButton.add(btnGambar);
getContentPane().setLayout(new BorderLayout());
getContentPane().add(panelCombo, BorderLayout.NORTH);
getContentPane().add(panelButton, BorderLayout.CENTER);
getContentPane().add(panelGambar, BorderLayout.SOUTH);
btnGambar.addActionListener(this);
}
public void actionPerformed(ActionEvent evt){
Object obj = evt.getSource();
if (obj==btnGambar){
}
}
public static void main(String[] args){
Latihan frame = new Latihan();
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
class PanelGambar extends JPanel{
public PanelGambar(){
setPreferredSize(new Dimension(500,400));
setBackground(Color.DARK_GRAY);
}
public void paintComponent(Graphics g){
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
Rectangle2D.Double persegi = new Rectangle2D.Double(10,10,100,100);
g2.setColor(Color.CYAN);
g2.fill(persegi);
g2.setColor(Color.RED);
g2.setStroke(new BasicStroke(3.0f));
g2.draw(persegi);
Ellipse2D.Double lingkaran = new Ellipse2D.Double(150, 10, 100, 100);
g2.setColor(Color.BLUE);
g2.fill(lingkaran);
g2.setColor(Color.GREEN);
g2.setStroke(new BasicStroke(3.0f));
g2.draw(lingkaran);
Rectangle2D.Double persegiPanjang = new Rectangle2D.Double(10,150,100,150);
g2.setColor(Color.PINK);
g2.fill(persegiPanjang);
g2.setColor(Color.BLACK);
g2.setStroke(new BasicStroke(3.0f));
g2.draw(persegiPanjang);
Ellipse2D.Double elips = new Ellipse2D.Double(150, 150, 100, 50);
g2.setColor(Color.YELLOW);
g2.fill(elips);
g2.setColor(Color.RED);
g2.setStroke(new BasicStroke(3.0f));
g2.draw(elips);
}
}