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) 为什么没有起到作用?
望大家多多指点
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) 为什么没有起到作用?
望大家多多指点
你的mousePressed 事件 没有时间源
因此不会触发事件
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();
}
}
经过修改,但是还是不能显示棋子??不知道问题出在那里?
望大家指点!!!谢谢了
this.add(chesspoint_black);
谢谢大家继续关注
待续中....