📄 drawpanel.java
字号:
/*源程序清单12-11*/
package print;
import java.awt.*;
import java.awt.event.*;
import borland.jbcl.layout.*;
import borland.jbcl.control.*;
import java.util.*;
public class DrawPanel extends BevelPanel
{
XYLayout xYLayout1 = new XYLayout();
MainFrame frame=null;
Vector sx=new Vector();
Vector sy=new Vector();
Vector ex=new Vector();
Vector ey=new Vector();
Vector drawStyle=new Vector();
public DrawPanel(MainFrame frame)
{
try
{
this.frame=frame;
jbInit();
}
catch (Exception e)
{
e.printStackTrace();
}
}
public void jbInit() throws Exception
{
this.addMouseMotionListener(new DrawPanel_this_mouseMotionAdapter(this));
this.addMouseListener(new DrawPanel_this_mouseAdapter(this));
xYLayout1.setWidth(500);
xYLayout1.setHeight(300);
this.setLayout(xYLayout1);
}
void this_mouseMoved(MouseEvent e)
{
frame.statusBar2.setText(e.getX()+" , "+e.getY());
}
public void update(Graphics g)
{
paint(g);
}
public void paint(Graphics g)
{
int size=sx.size();
for(int i=0;i<size;i++)
{
int sourcex=((Integer)sx.elementAt(i)).intValue();
int sourcey=((Integer)sy.elementAt(i)).intValue();
int endx=((Integer)ex.elementAt(i)).intValue();
int endy=((Integer)ey.elementAt(i)).intValue();
int style=((Integer)drawStyle.elementAt(i)).intValue();
if(style==0)
g.drawLine(sourcex,sourcey,endx,endy);
else if(style==1)
g.drawRect(sourcex,sourcey,endx,endy);
else if(style==2)
g.drawOval(sourcex,sourcey,endx,endy);
}
}
void this_mousePressed(MouseEvent e)
{
sx.addElement(new Integer(e.getX()));
sy.addElement(new Integer(e.getY()));
}
void this_mouseReleased(MouseEvent e)
{
ex.addElement(new Integer(e.getX()));
ey.addElement(new Integer(e.getY()));
drawStyle.addElement(new Integer(frame.drawStyle));
repaint();
}
}
class DrawPanel_this_mouseMotionAdapter extends java.awt.event.MouseMotionAdapter
{
DrawPanel adaptee;
DrawPanel_this_mouseMotionAdapter(DrawPanel adaptee)
{
this.adaptee = adaptee;
}
public void mouseMoved(MouseEvent e)
{
adaptee.this_mouseMoved(e);
}
}
class DrawPanel_this_mouseAdapter extends java.awt.event.MouseAdapter
{
DrawPanel adaptee;
DrawPanel_this_mouseAdapter(DrawPanel adaptee)
{
this.adaptee = adaptee;
}
public void mousePressed(MouseEvent e)
{
adaptee.this_mousePressed(e);
}
public void mouseReleased(MouseEvent e)
{
adaptee.this_mouseReleased(e);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -