基本上我加載了一個圖像,當我點擊圖像的一部分時,出現了一個矩形(沒有填充)。如果我再次點擊圖像的另一部分,該矩形將再次顯示。隨着每次點擊,應該出現相同的矩形。如何在圖像中製作矩形移動?
到目前爲止,我有這個代碼,現在我不知道如何讓圖像出現。我的文件目錄中的圖像。我已經讓代碼從我的文件目錄中獲取圖像。
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