java Swing 高高手在吗? 我在jframe上画矩形框,已知a矩形(x,y,width,height),b矩形(x,y,width,height)好多组。怎么样可以实现,鼠标移到a矩形,让a矩形的边框变色。同理移到b矩形,让b的边框变色。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 矩形我是用 Graphics 画的。 其实看下swing相关的API应该能解决问题的 简陋了点,不考虑矩形重叠的情况,也没有消除闪烁,反正大概是这么个意思吧,主要用MouseMotionListenerimport java.awt.*;import java.awt.event.*;import javax.swing.JFrame;public class CSDN extends JFrame { private static final long serialVersionUID = 1L; public int x = 0; public int y = 0; public CSDN(){ super("test"); this.setFocusable(true); setVisible(true); init(); pack(); setLocation(200, 200); setSize(400,400); this.addWindowListener(new WindowListener()); } public void init(){ getContentPane().add(new Board()); } class Board extends Canvas implements MouseMotionListener{ private static final long serialVersionUID = 1L; public Board(){ this.addMouseMotionListener(this); } public void update(Graphics g){ paint(g); } public void paint(Graphics g){ Dimension size = getSize(); g.setColor(Color.WHITE); g.fillRect(0, 0, size.width, size.height); g.setColor(Color.BLACK); if(x>10&&x<110&&y>10&&y<110){ g.setColor(Color.RED); } g.drawRect(10, 10, 100, 100); g.setColor(Color.BLACK); if(x>110&&x<210&&y>110&&y<210){ g.setColor(Color.RED); } g.drawRect(110, 110, 100, 100); } @Override public void mouseDragged(MouseEvent e) { } @Override public void mouseMoved(MouseEvent e) { x = e.getX(); y = e.getY(); repaint(); } } public class WindowListener extends WindowAdapter{ public void windowClosing(WindowEvent e){ System.exit(0); } } public static void main(String[] args){ CSDN csdn = new CSDN(); }} 关于socket下载的一些问题? 请教一个关于静态变量的问题 初学swt 遇到几个问题 请教高人 如何得到TimeStamp型的现在时刻。。 打包后MANIFEST.MF中的mainifest是什么意思? 一些小问题 刚学java请大家帮助 请问JTable 表格中 能加按纽吗 在线等!!! 求教大神,怎样将jar在其他机子上运行,求征集最简单方法。。。。谢谢 String和int之间怎么相互转换 模板问题 谢谢 java中一段简单代码不明... 如何用java编程遗传算法?
反正大概是这么个意思吧,主要用MouseMotionListenerimport java.awt.*;
import java.awt.event.*;
import javax.swing.JFrame;public class CSDN extends JFrame {
private static final long serialVersionUID = 1L;
public int x = 0;
public int y = 0;
public CSDN(){
super("test");
this.setFocusable(true);
setVisible(true);
init();
pack();
setLocation(200, 200);
setSize(400,400);
this.addWindowListener(new WindowListener());
}
public void init(){
getContentPane().add(new Board());
}
class Board extends Canvas implements MouseMotionListener{ private static final long serialVersionUID = 1L; public Board(){
this.addMouseMotionListener(this);
}
public void update(Graphics g){
paint(g);
}
public void paint(Graphics g){
Dimension size = getSize();
g.setColor(Color.WHITE);
g.fillRect(0, 0, size.width, size.height);
g.setColor(Color.BLACK);
if(x>10&&x<110&&y>10&&y<110){
g.setColor(Color.RED);
}
g.drawRect(10, 10, 100, 100);
g.setColor(Color.BLACK);
if(x>110&&x<210&&y>110&&y<210){
g.setColor(Color.RED);
}
g.drawRect(110, 110, 100, 100);
}
@Override
public void mouseDragged(MouseEvent e) {
} @Override
public void mouseMoved(MouseEvent e) {
x = e.getX();
y = e.getY();
repaint();
}
}
public class WindowListener extends WindowAdapter{
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
public static void main(String[] args){
CSDN csdn = new CSDN();
}
}