📄 memdraw.java
字号:
import java.awt.*;
import java.awt.event.*;
import java.util.*;
//swing classes
import javax.swing.text.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.border.*;
import javax.swing.tree.*;
public class MemDraw extends JxFrame
implements ActionListener {
JToolBar tbar;
Mediator med;
//-------------------------------------------
public MemDraw() {
super("Memento Drawing");
JPanel jp = new JPanel();
getContentPane().add(jp);
med = new Mediator();
jp.setLayout(new BorderLayout());
tbar = new JToolBar();
jp.add("North", tbar);
RectButton rect = new RectButton(this, med);
tbar.add(rect);
UndoButton undo = new UndoButton(this, med);
tbar.add(undo);
tbar.addSeparator();
ClearButton clr = new ClearButton(this, med);
tbar.add(clr);
JCanvas canvas = new JCanvas(med);
jp.add("Center", canvas);
MouseApp map = new MouseApp(med);
canvas.addMouseListener(map);
MouseMoveApp mvap = new MouseMoveApp(med);
canvas.addMouseMotionListener(mvap);
setSize(new Dimension(400,300));
setVisible(true);
}
//-------------------------------------------
public void actionPerformed(ActionEvent e) {
Command comd = (Command)e.getSource();
comd.Execute();
}
//-------------------------------------------
static public void main(String[] argv) {
new MemDraw();
}
}
//==============================
class MouseApp extends MouseAdapter {
Mediator med;
public MouseApp(Mediator md) {
super();
med = md;
}
public void mousePressed(MouseEvent e) {
med.createRect(e.getX(), e.getY());
}
public void mouseReleased(MouseEvent e) {
med.rememberPosition();
}
}
//-------------------------------------------
class MouseMoveApp extends MouseMotionAdapter {
Mediator med;
public MouseMoveApp(Mediator md) {
super();
med = md;
}
public void mouseDragged(MouseEvent e) {
med.drag(e.getX(), e.getY());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -