2
20:00
Gast
Kleines Problem und zwar bei mouseClicked... Ich möchte das Bild des Button ändern, wenn ich auf den Button "Maus klicke" mit doppelklick oder rechte maus klicke. Aber da tut sich nichts^^
Code vielleicht in eine andere Adapterklasse von Mouselistener???
hoffe ihr könnts mir helfen
Danke
Code vielleicht in eine andere Adapterklasse von Mouselistener???
hoffe ihr könnts mir helfen
Danke
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MouseListenerTest extends JFrame implements ActionListener, MouseListener {
static final long serialVersionUID = 0L;
private static final String CLEAR = "clear";
private static final String nl = System.getProperty("line.separator");
private JTextArea textArea = new JTextArea("", 6, 1);
private JButton mouseButton = new JButton("Maus");
private JButton displayButton =new JButton("");
ClassLoader cl = getClass().getClassLoader();
public MouseListenerTest() {
setTitle("MouseListener");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setFrameLocation(500, 300);
JPanel bereich1 = new JPanel();
bereich1.add(displayButton);
JPanel bereich2 = new JPanel();
bereich2.setLayout(new BorderLayout());
bereich2.add(new JScrollPane(textArea), BorderLayout.SOUTH);
JButton clearButton = new JButton("Alles löschen");
JPanel bereich3 = new JPanel();
bereich3.add(mouseButton);
bereich3.add(clearButton);
Container windowFlaeche = getContentPane();
windowFlaeche.add(bereich1, BorderLayout.NORTH);
windowFlaeche.add(bereich2, BorderLayout.CENTER);
windowFlaeche.add(bereich3, BorderLayout.SOUTH);
textArea.setEditable(false);
mouseButton.addMouseListener(this);
clearButton.addActionListener(this);
clearButton.setActionCommand(CLEAR);
setVisible(true);
}
public void setFrameLocation(int frameWidth, int frameHeight) {
setSize(frameWidth, frameHeight);
Dimension screen = getToolkit().getScreenSize();
setLocation((screen.width - frameWidth)/2, (screen.height - frameHeight)/2);
}
// Methoden für den MouseListener **********************************
public void mouseEntered(MouseEvent e) {
mouseButton.setCursor(new Cursor(Cursor.HAND_CURSOR));
}
public void mouseExited(MouseEvent e) {
mouseButton.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
}
public void mouseClicked(MouseEvent e) {
String text = "Mausklick - Koordinaten: x=" + e.getX() + " y=" + e.getY();
updateTextarea(text);
// In diesem Beispiel sind nur ein Doppelklick mit der linken Maustaste
// oder ein einfacher Klick mit der rechten Maustaste zugelassen
if (e.getButton() == MouseEvent.BUTTON1){
if(e.getClickCount() == 2){
text = "===> zugelassen: linke Maustaste, Doppelklick";
displayButton = new JButton(new ImageIcon(cl.getResource("tiger.gif")));
displayButton.setMargin(new Insets(0, 0, 0, 0));
}
else
return;
}
else if (e.getButton() == MouseEvent.BUTTON3) {
if(e.getClickCount() == 1){
text = "===> zugelassen: rechte Maustaste, Einfachklick";
displayButton = new JButton(new ImageIcon(cl.getResource("elephant.gif")));
displayButton.setMargin(new Insets(0, 0, 0, 0));
}
else
return;
}
else
return;
updateTextarea(text);
}
public void mousePressed(MouseEvent e) {
String text = "Mouse pressed";
if(e.getButton() == MouseEvent.BUTTON1)
text += " - left mouse key";
else if (e.getButton() == MouseEvent.BUTTON2)
text += " - mouse wheel";
else if (e.getButton() == MouseEvent.BUTTON3)
text += " - right mouse key";
updateTextarea(text);
}
public void mouseReleased(MouseEvent e) {
updateTextarea("Mouse released");
}
// ********************************************************************
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals(CLEAR))
textArea.setText("");
}
private void updateTextarea(String s) {
textArea.append(s + nl);
}
public static void main(String[] args) {
new MouseListenerTest();
}
}