Swing Make Over merupakan tehnik memanipulasi tampilan aplikasi java gui (Swing) agar terlihat lebih keren dan sesuai dengan yang kita inginkan.
Contoh :
- Button Swing Make Over
Buat java class dengan nama sesuai selera misalnya dengan nama ButtonMakeOver. Sourcenya :
Tulis source codeberikut (Test.java) :import
java.awt.Color;
import
java.awt.GradientPaint;
import
java.awt.Graphics;
import
java.awt.Graphics2D;
import
java.awt.RenderingHints;
import
javax.swing.ButtonModel;
import
javax.swing.JButton;
public
class
ButtonMakeOver
extends
JButton {
public
ButtonMakeOver(String text) {
setText(text);
setBorderPainted(
false
);
setContentAreaFilled(
false
);
setFocusPainted(
false
);
setOpaque(
false
);
setForeground(Color.white);
}
@Override
protected
void
paintComponent(Graphics g) {
ButtonModel buttonModel = getModel();
Graphics2D gd = (Graphics2D) g.create();
gd.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
gd.setPaint(
new
GradientPaint(
0
,
0
, Color.white,
0
, getHeight(),
new
Color(
0
,
0
,
0
,
0
)));
if
(buttonModel.isRollover()) {
gd.setPaint(
new
GradientPaint(
0
,
0
,
new
Color(
0
,
0
,
0
,
0
),
0
, getHeight(), Color.white));
if
(buttonModel.isPressed()) {
gd.setPaint(
new
GradientPaint(
0
,
0
, Color.white,
0
, getHeight(), Color.white));
setForeground(Color.BLACK);
}
else
{
setForeground(Color.white);
}
}
gd.fillRoundRect(
0
,
0
, getWidth(), getHeight(),
25
,
25
);
gd.dispose();
super
.paintComponent(g);
}
}
Kemudian run project, dan lihat hasilnya.import
java.awt.BorderLayout;
import
java.awt.Color;
import
javax.swing.JFrame;
import
javax.swing.JPanel;
public
class
Test
extends
JFrame {
private
ButtonMakeOver button =
new
ButtonMakeOver(
"My Button"
);
private
JPanel panel;
public
Test() {
panel =
new
JPanel(
null
);
panel.setBackground(Color.BLACK);
panel.add(button);
button.setBounds(
20
,
20
,
120
,
23
);
setLayout(
new
BorderLayout());
add(panel, BorderLayout.CENTER);
setSize(
200
,
100
);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public
static
void
main(String[] args) {
new
Test().setVisible(
true
);
}
}
source : http://itc.himatif.or.id
http://eecchhoo.wordpress
0 komentar:
Posting Komentar