基本上我加载了一个图像,当我点击图像的一部分时,出现了一个矩形(没有填充)。如果我再次点击图像的另一部分,该矩形将再次显示。随着每次点击,应该出现相同的矩形。如何在图像中制作矩形移动?
到目前为止,我有这个代码,现在我不知道如何让图像出现。我的文件目录中的图像。我已经让代码从我的文件目录中获取图像。
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class MP2 extends JPanel implements MouseListener{
JFrame frame;
JPanel panel;
int x = 0;
int y = 0;
String input;
public MP2(){
}
public static void main(String[] args){
JFrame frame = new JFrame();
MP2 panel = new MP2();
panel.addMouseListener(panel);
frame.add(panel);
frame.setSize(200,200);
frame.setVisible(true);
}
public void mouseClicked(MouseEvent event) {
// TODO Auto-generated method stub
this.x = event.getX();
this.y = event.getY();
this.repaint();
input = JOptionPane.showInputDialog("Something pops out");
System.out.println(input);
}
public void mouseEntered(MouseEvent arg0) {
// TODO Auto-generated method stub
}
public void mouseExited(MouseEvent arg0) {
// TODO Auto-generated method stub
}
public void mousePressed(MouseEvent arg0) {
// TODO Auto-generated method stub
}
public void mouseReleased(MouseEvent arg0) {
// TODO Auto-generated method stub
}
public void paintComponent(Graphics g){
super.paintComponent(g);
// this.setBackground(Color.white); *Sets the bg color of the panel
g.setColor(new Color(255,0,0));
g.drawRect(x, y, 100, 100);
}
}
你的目标不是很清楚。 – mre
我点击图像的一部分,出现一个矩形。而已。 – alicedimarco
听起来像你需要在初始化加载图像,然后重写绘画代码,并在那里,blit当前标记为可见的图像矩形。 – Nerdtron