Skip to content

Instantly share code, notes, and snippets.

@resarahadian
Created December 12, 2013 23:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save resarahadian/7937195 to your computer and use it in GitHub Desktop.
Save resarahadian/7937195 to your computer and use it in GitHub Desktop.
Membuat Minimize, Maximize, dan Close Frame dengan JButton
import javax.swing.JPanel;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
@SuppressWarnings("serial")
public class ClPanelTransparant extends JPanel
{
private Color clr;
public ClPanelTransparant()
{
setOpaque(false);
clr = new Color(getBackground().getRed(), getBackground().getRed(), getBackground().getGreen(),90);
}
public void setBackground(Color bg)
{
super.setBackground(bg);
clr = new Color(getBackground().getRed(), getBackground().getRed(), getBackground().getGreen(),90);
repaint();
}
protected void paintComponent(Graphics graph)
{
super.paintComponent(graph);
Graphics2D g2d = (Graphics2D) graph.create();
g2d.setColor(clr);
g2d.fillRect(0, 0, getWidth(), getHeight());
g2d.dispose();
}
}
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.UIManager;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
@SuppressWarnings("serial")
public class frameButtonIcon extends JFrame {
private JPanel contentPane;
private JPanel panel;
private JLabel lblWall;
private JButton btnMinimize;
private JButton btnMaximize;
private JButton btnClose;
/**
* Create the frame.
*/
public frameButtonIcon()
{
setTitle("Minimize, Maximize, and Close Button");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 593, 395);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
panel = new ClPanelTransparant();
panel.setBounds(6, 0, 585, 59);
contentPane.add(panel);
panel.setLayout(null);
btnMinimize = new JButton("");
btnMinimize.setIcon(new ImageIcon("/home/resa/Aplikasi Java/SwingJava/src/buttonIcon/minimize.png"));
btnMinimize.setToolTipText("Minimize");
btnMinimize.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent act)
{
setState(ICONIFIED);
}
});
btnMinimize.setBounds(0, 6, 73, 47);
panel.add(btnMinimize);
btnMaximize = new JButton("");
btnMaximize.setIcon(new ImageIcon("/home/resa/Aplikasi Java/SwingJava/src/buttonIcon/maximize.png"));
btnMaximize.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent act)
{
if(getExtendedState() == NORMAL)
{
setExtendedState(MAXIMIZED_BOTH);
}
else
{
setExtendedState(NORMAL);
}
}
});
btnMaximize.setToolTipText("Maximize");
btnMaximize.setBounds(85, 6, 73, 47);
panel.add(btnMaximize);
btnClose = new JButton("");
btnClose.setIcon(new ImageIcon("/home/resa/Aplikasi Java/SwingJava/src/buttonIcon/close.png"));
btnClose.setToolTipText("Close");
btnClose.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent act)
{
System.exit(0);
}
});
btnClose.setBounds(170, 6, 73, 47);
panel.add(btnClose);
lblWall = new JLabel("");
lblWall.setIcon(new ImageIcon("/home/resa/Aplikasi Java/SwingJava/src/buttonIcon/wall1.jpg"));
lblWall.setBounds(0, -11, 591, 380);
contentPane.add(lblWall);
setLocationRelativeTo(null);
}
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
frameButtonIcon frame = new frameButtonIcon();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment