Mouse 与网格问题 假设有6 个网格….当Mouse 移动到该格就变颜色…当离开就还原原有颜色..请问如何实现 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 java.awt.event.MouseEvent 里边的 MOUSE_ENTERED和MOUSE_EXITED方法怎么样? 请问怎样drag A0 到 A4, 然后位置自动调换?import java.awt.BorderLayout;import java.awt.Color;import java.awt.Component;import java.awt.GridLayout;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.SwingUtilities;public class NewClass extends JFrame implements MouseListener { JPanel panel; GridLayout grid; JLabel[] label; Object currentObj; int index = -1; public NewClass() { grid = new GridLayout(); panel = new JPanel(); grid.setRows(2); grid.setColumns(2); panel.setLayout(grid); label = new JLabel[4]; for (int i = 0; i < label.length; i++) { label[i] = new JLabel("A" + i); label[i].addMouseListener(this); panel.add(label[i]); } getContentPane().add(panel, BorderLayout.CENTER); setSize(500, 500); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { new NewClass().setVisible(true); } }); } public int getComIndex(Object obj) { Component[] c = panel.getComponents(); for (int i = 0; i < c.length; i++) { if (c[i].equals(obj)) { return i; } } return -1; } public void mouseClicked(MouseEvent e) { } public void mousePressed(MouseEvent e) { System.out.println("Press"); currentObj = e.getComponent(); index = getComIndex(currentObj); System.out.println("Object " + ((JLabel) currentObj).getText()); System.out.println("Index " + index); } public void mouseReleased(MouseEvent e) { } public void mouseEntered(MouseEvent e) { Object ojb = e.getComponent(); if (ojb.equals(label[0])) { label[0].setOpaque(true); label[0].setBackground(Color.GREEN); } else if (ojb.equals(label[1])) { label[1].setOpaque(true); label[1].setBackground(Color.GREEN); } else if (ojb.equals(label[2])) { label[2].setOpaque(true); label[2].setBackground(Color.GREEN); } else if (ojb.equals(label[3])) { label[3].setOpaque(true); label[3].setBackground(Color.GREEN); } } public void mouseExited(MouseEvent e) { Object ojb = e.getComponent(); if (ojb.equals(label[0])) { label[0].setOpaque(true); label[0].setBackground(new Color(238, 238, 238)); } else if (ojb.equals(label[1])) { label[1].setOpaque(true); label[1].setBackground(new Color(238, 238, 238)); } else if (ojb.equals(label[2])) { label[2].setOpaque(true); label[2].setBackground(new Color(238, 238, 238)); } else if (ojb.equals(label[3])) { label[3].setOpaque(true); label[3].setBackground(new Color(238, 238, 238)); } }} 既不报错 也未把数据写进数据库 大家看看这个程序有什么问题?怎么插入代码? 麻烦帮忙解决一下文件路径的问题 如何实现JAVA与MATLAB混合编程 一个关于reader的问题 抽象类的问题 java 里面对Thread的sleep的理解问题!!!急!急!在线等!!! 使用或覆盖了已过时的 API 递归不能执行 请问如何用java.sound api 读取 .vox 文件并转换为 .wav格式的?? 一道面试题,三个式子哪个运行更快? 【十万火急】正则表达式的问题
import java.awt.Color;
import java.awt.Component;
import java.awt.GridLayout;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
public class NewClass extends JFrame implements MouseListener { JPanel panel;
GridLayout grid;
JLabel[] label;
Object currentObj;
int index = -1; public NewClass() {
grid = new GridLayout();
panel = new JPanel(); grid.setRows(2);
grid.setColumns(2);
panel.setLayout(grid); label = new JLabel[4]; for (int i = 0; i < label.length; i++) {
label[i] = new JLabel("A" + i);
label[i].addMouseListener(this);
panel.add(label[i]);
} getContentPane().add(panel, BorderLayout.CENTER);
setSize(500, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() {
new NewClass().setVisible(true);
}
}); } public int getComIndex(Object obj) {
Component[] c = panel.getComponents();
for (int i = 0; i < c.length; i++) {
if (c[i].equals(obj)) {
return i;
}
}
return -1; } public void mouseClicked(MouseEvent e) {
} public void mousePressed(MouseEvent e) {
System.out.println("Press");
currentObj = e.getComponent();
index = getComIndex(currentObj);
System.out.println("Object " + ((JLabel) currentObj).getText());
System.out.println("Index " + index);
} public void mouseReleased(MouseEvent e) {
} public void mouseEntered(MouseEvent e) {
Object ojb = e.getComponent();
if (ojb.equals(label[0])) {
label[0].setOpaque(true);
label[0].setBackground(Color.GREEN);
} else if (ojb.equals(label[1])) {
label[1].setOpaque(true);
label[1].setBackground(Color.GREEN);
} else if (ojb.equals(label[2])) {
label[2].setOpaque(true);
label[2].setBackground(Color.GREEN);
} else if (ojb.equals(label[3])) {
label[3].setOpaque(true);
label[3].setBackground(Color.GREEN);
}
} public void mouseExited(MouseEvent e) {
Object ojb = e.getComponent();
if (ojb.equals(label[0])) {
label[0].setOpaque(true);
label[0].setBackground(new Color(238, 238, 238));
} else if (ojb.equals(label[1])) {
label[1].setOpaque(true);
label[1].setBackground(new Color(238, 238, 238));
} else if (ojb.equals(label[2])) {
label[2].setOpaque(true);
label[2].setBackground(new Color(238, 238, 238));
} else if (ojb.equals(label[3])) {
label[3].setOpaque(true);
label[3].setBackground(new Color(238, 238, 238));
}
}
}