Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (25.8 KB, 4 trang )
<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
Có hai lớp:
1) Painting
2) MyCanvas
import java.awt.*;
import java.awt.event.*;
class
Choice shapeChoice;
List colorList;
CheckboxGroup colorGroup;
Checkbox redCheckbox, greenCheckbox, blueCheckbox;
Scrollbar sizeScrollbar;
MyCanvas paintCanvas;
MenuBar menubar;
Menu menu;
CheckboxMenuItem roundItem, squareItem, lineItem;
MenuItem exitItem;
Button resetButton, exitButton;
Label sizeLabel;
Painting()
{
setTitle("My Painting");
setLayout(null);
menubar = new MenuBar();
menu = new Menu("Shapes");
roundItem = new CheckboxMenuItem("Round");
squareItem = new CheckboxMenuItem("Square");
lineItem = new CheckboxMenuItem("Line");
exitItem = new MenuItem("Exit");
//lineItem.disable();
//roundItem.addActionListener(this);
this.setMenuBar(menubar);
shapeChoice = new Choice();
shapeChoice.setBounds(30,80,100,50);
shapeChoice.addItem("Round");
shapeChoice.addItem("Square");
shapeChoice.addItem("Line");
shapeChoice.setBackground(Color.GREEN);
add(shapeChoice);
colorList = new List();
colorList.setBounds(30,310,100,50);
colorList.add("Red");
colorList.add("Green");
colorList.add("Blue");
colorList.setBackground(Color.cyan);
add(colorList);
colorGroup = new CheckboxGroup();
redCheckbox = new Checkbox("Red",colorGroup,true);
greenCheckbox = new Checkbox("Green",colorGroup,false);
blueCheckbox = new Checkbox("Blue",colorGroup,false);
redCheckbox.setBounds(70,140,50,50);
greenCheckbox.setBounds(70,190,50,50);
blueCheckbox.setBounds(70,240,50,50);
add(redCheckbox);
add(greenCheckbox);
add(blueCheckbox);
sizeLabel = new Label("Size:");
sizeLabel.setBounds(30,110,50,30);
add(sizeLabel);
sizeScrollbar = new Scrollbar(Scrollbar.VERTICAL,60,10,20,110);
sizeScrollbar.setBounds(30,140,20,150);
add(sizeScrollbar);
paintCanvas = new MyCanvas();
paintCanvas.setBounds(150,80,420,300);
add(paintCanvas);
resetButton.setBackground(Color.YELLOW);
resetButton.setBounds(450,390,50,40);
exitButton = new Button("Exit");
exitButton.setBackground(Color.YELLOW);
exitButton.setBounds(520,390,50,40);
add(resetButton);
add(exitButton);
//default values:
roundItem.setState(true);
shapeChoice.select(0);
colorList.select(0);
this.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent evt){System.exit(0);}
});
}
public void actionPerformed(ActionEvent evt)
{
if(evt.getSource()==exitItem)
System.exit(0);
if(evt.getSource()==exitButton)
System.exit(0);
if(evt.getSource()==resetButton)
{
roundItem.setState(true);
squareItem.setState(false);
lineItem.setState(false);
shapeChoice.select(0);
colorList.select(0);
redCheckbox.setState(true);
sizeScrollbar.setValue(60);
}
}
public static void main (String[] args)
{
Painting p = new Painting();
p.setVisible(true);
}
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
class
int x,y;
MyCanvas()
{
super();
setBackground(Color.GRAY);
this.addMouseListener(this);
}
@Override
public void paint(Graphics g) {
g.setColor(Color.RED);
g.fillRect(x,y,100,50);
}
@Override
public void mouseClicked(MouseEvent e) {
x = e.getX();
y = e.getY();
repaint();
System.out.println("x="+x);
}
@Override
public void mousePressed(MouseEvent e) {;}
@Override
public void mouseReleased(MouseEvent e){;}
@Override
public void mouseEntered(MouseEvent e){;}
@Override