作者qrtt1 (愚者)
看板java
标题Re: [问题] 关於actionperformed里写程式绘图
时间Mon Oct 23 09:30:31 2006
※ 引述《hubin (阿宾  NN)》之铭言:
: ※ 引述《neigence (心夜)》之铭言:
: : 为什麽不把paint拉出去外面写呢? 程式呼叫repaint()时 自已就会去找paint这个
: : method了
: : public class ???? extends JFrame{
: : public itemListener implements Actionlistener{
: : public void actionPerformed(ActionEvent event){
: : repaint();
: : }
: : }
: : public void paint(Graphics g){
: : // do something
: : }
: : }
: 我照了你的方式去写:
: public class itemHandler implements ActionListener{
: public void actionPerformed(ActionEvent event){
: repaint(); //这行出现错误讯息
: }
: public void paint(Graphics g){
: g.drawLine(Painter.x1,Painter.y1,Painter.x2,Painter.y2);
: }
: }
: 讯息为:The method repaint() is undefined for the type itemHandler
: 感觉它似乎没有跑去找paint这个method……
repaint()是某个你想要画的Component的method
但是你这个handler并没有直接取得此Component的方法。
private Component myDrawTarget;
Component void setDrawTaget(Component c) method
然後写自己handle内的repaint
private void repaint(){
myDrawTarget.repaint();
............
}
当然如果你的target不需要改变,也可以透过建构式传入方式
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.26.34.213