站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题还没有达到菜鸟提的问题?

还没有达到菜鸟提的问题?

摘要: 还没有达到菜鸟提的问题?


import java.awt.*;

import javax.swing.*;
import java.awt.event.*;
import java.applet.*;
import java.awt.geom.*;

class drawPanel extends JPanel implements MouseListener
{
drawPanel()
{
addMouseListener(this);
}
public void paint(Graphics g)
{
Graphics2D g2=(Graphics2D)g;
for(int i=0;i<600;i+=40)
{
Line2D.Float Line1=new Line2D.Float(0,i+40,600,i+40);
g2.setPaint(Color.black);
g2.draw(Line1);
}
for(int j=0;j<600;j+=40)
{
Line2D.Float Line1=new Line2D.Float(j+40,0,j+40,600);
g2.setPaint(Color.black);
g2.draw(Line1);
}
}
public void mousePressed(MouseEvent e)
{

public void paint(Graphics g)
{
Graphics2D g2=(Graphics2D)g;
Ellipse2D.Float e1=new Ellipse2D.Float(0,0,40,40);
g2.draw(e1);
addMouseListener(this);
}
}
}

class jfmain
{
jfmain()
{
JFrame.setDefaultLookAndFeelDecorated(true); // 设置窗体图标显示位默认方式
JFrame f=new JFrame("主界面");// 创建JFrame对象
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 点击窗口关闭图标关闭窗口
drawPanel pa=new drawPanel();// 创建容器JPanel类对象
Container cp=f.getContentPane();// 创建JFrame的容器对象
cp.add(pa,BorderLayout.CENTER);
f.setLocation(0,0);
f.setSize(1024,800);
f.setResizable(false);
f.setVisible(true);
}

public static void main(String[] args)
{
jfmain jf=new jfmain();
}
}
这个程序的public void mousePressed(MouseEvent e) 为什么没有起到作用?
望大家多多指点



死鸟路过,顶下...


加句if(e.getsourse()==ture) 试试


同楼上的意见
你的mousePressed 事件 没有时间源
因此不会触发事件


JJ,你是那个窝里出生的菜鸟.我也去重生生,

同样是菜鸟,为什么差距杂就这么大呢?


import java.awt.*;

import javax.swing.*;
import java.awt.event.*;
import java.applet.*;
import java.awt.geom.*;

class drawPanel extends JPanel implements MouseListener
{
drawPanel()
{
this.addMouseListener(this);
}
public void paint(Graphics g)
{
Graphics2D g2=(Graphics2D)g;
for(int i=0;i<600;i+=40)
{
Line2D.Float Line1=new Line2D.Float(0,i+40,600,i+40);
g2.setPaint(Color.black);
g2.draw(Line1);
}
for(int j=0;j<600;j+=40)
{
Line2D.Float Line1=new Line2D.Float(j+40,0,j+40,600);
g2.setPaint(Color.black);
g2.draw(Line1);
}
}
public void mousePressed(MouseEvent e)
{


/*{
int x=(int)e.getX();
int y=(int)e.getY();
ChessPoint_black chesspoint_black=new ChessPoint_black(new drawPanel());
}
*/
}

public void mouseReleased(MouseEvent e){}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mouseClicked(MouseEvent e)
{
if(e.getButton()==e.BUTTON1) //当按下鼠标左键时下棋子。
{
int x=e.getX();
int y=e.getY();
System.out.println("x="+x);
ChessPoint_black chesspoint_black=new ChessPoint_black(new drawPanel());
}

}
}
//负责创建黑色棋子的类:
class ChessPoint_black extends Canvas implements MouseListener
{
drawPanel drawP=null;
ChessPoint_black(drawPanel p)
{
setSize(40,40);
drawP=p;
addMouseListener(this);
}
public void paint(Graphics g) //绘制棋子的大小。
{
g.setColor(Color.black);
g.fillOval(0,0,40,40);
}
public void mouseReleased(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e) {}
public void mouseClicked(MouseEvent e){}
public void mousePressed(MouseEvent e){}
}

public class jfmain extends Frame
{
drawPanel chesspad=new drawPanel();
jfmain()
{
JFrame.setDefaultLookAndFeelDecorated(true); // 设置窗体图标显示位默认方式
JFrame f=new JFrame("主界面");// 创建JFrame对象
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 点击窗口关闭图标关闭窗口
drawPanel pa=new drawPanel();// 创建容器JPanel类对象
Container cp=f.getContentPane();// 创建JFrame的容器对象
cp.add(pa,BorderLayout.CENTER);
f.setLocation(0,0);
f.setSize(1024,800);
f.setResizable(false);
add(chesspad);

f.setVisible(true);

}

public static void main(String[] args)
{
jfmain jf=new jfmain();
}
}
经过修改,但是还是不能显示棋子??不知道问题出在那里?
望大家指点!!!谢谢了


原因是没有把 ChessPoint_black注册drawPanel
this.add(chesspoint_black);
谢谢大家继续关注
待续中....


接贴了


↑返回目录
前一篇: 急!!!路过的请来看看,调用ejb问题,我被折腾的快不行了
后一篇: 一个关于软件编写中存储的问题,希望高手赐教!