J'ai besoin d'aide avec un programme simple. Je voudrais, quand je clique sur le programme le marque. J'aimerais voir mes mouvements passés. Comme un crayon dans la peinture.Comment ne pas repeindre JFrame? Il suffit de peindre
classe Test.java
import java.awt.*;
import java.awt.event.*;
import java.util.Scanner;
import java.io.IOException;
import java.lang.*;
import javax.swing.*;
public class Test{
JFrame frame;
public static void main(String[] args){
Test smallTest = new Test();
smallTest.letsDoIt();
}
public void letsDoIt(){
frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton buttonOfTheEnd = new JButton("EXIT");
buttonOfTheEnd.addActionListener(new theEndListener());
graphPanel panelR = new graphPanel();
panelR.setBackground(Color.WHITE);
frame.getContentPane().add(BorderLayout.CENTER, panelR);
frame.getContentPane().add(BorderLayout.SOUTH, buttonOfTheEnd);
frame.setSize(500,500);
frame.setVisible(true);
frame.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
frameMouseClicked(evt);
}
});
}
void frameMouseClicked(java.awt.event.MouseEvent evt) {
System.out.println("("+MouseInfo.getPointerInfo().getLocation().x+", "+MouseInfo.getPointerInfo().getLocation().y+")");
frame.repaint();
}
class theEndListener implements ActionListener {
public void actionPerformed(ActionEvent zdarzenie){
System.exit(0);
}
}
// public void paintComponent(Graphics g){
// super.paintComponent(g);
// int wspX = MouseInfo.getPointerInfo().getLocation().x;
// int wspY = MouseInfo.getPointerInfo().getLocation().y;
// g.setColor(Color.RED);
// g.fillRect(wspX, wspY, 10, 10);
//
}
classe graphPanel
import java.awt.*;
import javax.swing.*;
class graphPanel extends JPanel{
public void paintComponent(Graphics g){
super.paintComponent(g);
int locX = MouseInfo.getPointerInfo().getLocation().x - 10;
int locY = MouseInfo.getPointerInfo().getLocation().y - 30;
g.setColor(Color.ORANGE);
g.fillRect(locX, locY, 10, 10);
}
}
grâce à l'aide.
S'il vous plaît [accepter] (http://meta.stackexchange.com/questions/16721/how-does- accept-rate-work/65088 # 65088) quelques réponses! –