Ich brauche Hilfe bei einem einfachen Programm. Ich möchte, dass wenn ich auf Programm klicke, es markiert wird. Ich würde gerne meine Züge in der Vergangenheit sehen. Wie Bleistift in Farbe.
Klasse 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);
//
}
Klasse 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);
}
}
danke für die Hilfe.