Кнопка с рисунком
Листинг 10.7. Кнопка с рисунком
import j ava.awt.*;
import j ava.awt.event.*;
class FiowerButton extends Canvas implements MouseListener{
private boolean isDown=false;
public FiowerButton(){
super();
setBackground(Color.lightGray);
addMouseListener(this);
}
public void drawFlower(Graphics g, int x, int y, int w, int h){
g.drawOvalfx + 2*w/5 - 6, y, w/5, w/5);
g.drawLine(x + w/2 - 6, у + w/5, x + w/2 - 6, у + h - 4);
g.drawOvalfx + 3*w/10 -6, у + h/3 - 4, w/5, w/5) ;
g.drawOval(x + w/2 - б, у + h/3 - 4, w/5, w/5);
}
public void paint(Graphics g){
int w = getSizeO.width, h = getSize().height;
if (isDown){
g.drawLine(0, 0, w - 1, 0) ;
g.drawLined, 1, w - I, I);
g.drawLine(0, 0, 0, h - 1);
g.drawUne (1, 1, 1, h - 1);
drawFlower(g, 8, 10, w, h);
}
else
{
g.drawLine(0, h - 2, w - 2, h - 2);
g.drawLined, h - 1, w - I, h - I);
g.drawLinefw - 2, h - 2, w - 2, 0);
g.drawLinefw - 1, h - 1, w - 1, 1);
drawFlower (g, 6, 8, w, h) ; } }
public void mousePressed(MouseEvent e){
isDown=true; repaint();
}
public void mouseReleased(MouseEvent e){
isDown=false; repaint();
}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e) {}
public void mouseClicked(MouseEvent e){)
}
class DrawButton extends Frame{
DrawButton(String s) {
super (s) ;
setLayout(null);
Button b = new Button("OK");
b.setBounds(200, 50, 100, 60);
add(b);
FlowerButton d = new FlowerButton();
d.setBounds(50, 50, 100, 60);
add(d);
setSize(400, 150);
setVisible(true);
}
public static void main(String[] args){
Frame f= new DrawButton(" Кнопка с рисунком");
f.addWindowListener(new WindowAdapter()(
public void windowClosing(WindowEvent ev){
System.exit(0);
}
});
}
}