Component

  • Themenstarter Benutzername300
  • Beginndatum
Status
Nicht offen für weitere Antworten.
B

Benutzername300

Gast
Hi, zusammen

kann mir jemand erklären was ich an einem Component überschreiben muss damit
ich diesen als Grafik anzeigen lassen kann, dieser aber auch mit einer Maus anklickbar ist (MouseListener)

Ich kriegs zwar hin, dass ich eine graphische Representations davon auf dem Screen habe, aber damit zu kommunizieren, sprich anklicken ist nicht möglich... hat jemand dazu Ideen?

Danke
 

m@nu

Bekanntes Mitglied
?? du willst eine grafik auf eienr component anzeigen?

bitte präzisiere deine frage... zudem ist dein thread-titel auch nicht gerade so das gelbe vom ei.
 

Marco13

Top Contributor
In der paintComponent methode malst du. An die Component hängst du einen MouseListener. Bei einem Masukick kriegst du mit
event.getX()
evant.getY()
die Koordinaten des Mausklicks. Und dann kannst du überprüfen, ob dieser Mausklick die Grafik getroffen hat, die in paintCOmponent gemalt wird.
 
B

Benutzername300

Gast
Hi, ja, ich will eine Grafik anzeigen... eigentlich könnte es sowas wie ein Button sein, aber soviel funktionalität brauche ich nicht. Ich muss nur wissen wann er angeklickt ist.
Stell dir ein JPanel vor auf dem ich Martix-mässig 100 dieser Dinger darstelle. Wenn ich einen anklicke krieg ich eine ID-Nummer zurück und weiss welcher angeklickt wurde.

@Marco: Ich habe die paint(g) Methode überschrieben, wahrscheinlich lag es daran, dass es nicht ging... ?
 

m@nu

Bekanntes Mitglied
dann ist marco13's lösung das was du brauchst.
aufgrund von den klick-koordinaten kannst du deine ID berechnen.

<edit>
hier ein primitives beispiel:
Code:
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JComponent;
import javax.swing.JFrame;

/*
 * Created on 02.04.2007
 */

/**
 * @author Manuel Alabor
 * @version 1.0
 */
public class ClickableGfxComponent extends JComponent {

    public ClickableGfxComponent() {
        addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                System.out.println(calcId(e.getX(), e.getY()));
            }
        });
    }
    
    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        
        int half = getWidth()/2;
        
        g.setColor(Color.RED);
        g.fillRect(0, 0, half, getHeight());
        g.setColor(Color.BLUE);
        g.fillRect(half, 0, half, getHeight());
    }
    
    private String calcId(int x, int y) {
        String[] idNames = new String[]{"id not defined","rot", "blau"};
        int id = 0;
        int half = getWidth()/2;
        
        if(x < half) id = 1;
        else if(x > half) id = 2;
        
        
        return idNames[id];
    }
    
    public static void main(String[] args) {
        JFrame test = new JFrame("Test");
        test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        test.setSize(200,200);
        
        test.setContentPane(new ClickableGfxComponent());
        
        test.setVisible(true);
    }
}
 
B

Benutzername300

Gast
Oh, wow!

Vielen herzlichen Dank für dieses ausführliche Beispiel!

Ich denke damit komme ich sicher weiter!

Danke nochmals!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K JavaFX Resizing-Problem beim BorderLayout (Center Component) beim Arbeiten mit mehreren FXMLs AWT, Swing, JavaFX & SWT 2
C Swing Component bei Doppelklick löschen AWT, Swing, JavaFX & SWT 4
R Swing Hat mein JFrame meinen Component? AWT, Swing, JavaFX & SWT 2
R Layout Manager null und Component wird nicht hinzugefügt AWT, Swing, JavaFX & SWT 3
B Größe der Parent-Component dynamisch an children anpassen AWT, Swing, JavaFX & SWT 30
K JavaFX Component Größe an Inhalt anpassen AWT, Swing, JavaFX & SWT 11
M Swing Component Resize AWT, Swing, JavaFX & SWT 7
L Eigene Component anordnen AWT, Swing, JavaFX & SWT 7
L Eigene Component Layout AWT, Swing, JavaFX & SWT 4
W Swing Component mehrfach adden AWT, Swing, JavaFX & SWT 0
H Drag component out of window AWT, Swing, JavaFX & SWT 1
A remove(Component) funktioniert nicht; JTable AWT, Swing, JavaFX & SWT 4
A Swing Focus auf gemalte Component AWT, Swing, JavaFX & SWT 5
L Swing Component alignment innerhalb einer JList AWT, Swing, JavaFX & SWT 3
M AWT Drag n Drop-Support für Component AWT, Swing, JavaFX & SWT 5
M Kein resize nach Component.setVisible() AWT, Swing, JavaFX & SWT 2
Ebenius AWT Bug in Component.getLocationOnScreen() AWT, Swing, JavaFX & SWT 7
C AWT Fokus von Component entfernen, wenn kein anderes vorhanden AWT, Swing, JavaFX & SWT 4
B JTable Component mit String? AWT, Swing, JavaFX & SWT 4
M Eigenes Panel aus Component? AWT, Swing, JavaFX & SWT 5
H Component Zerren AWT, Swing, JavaFX & SWT 5
S Swing Component vertikal und hochizontal zentrieren? AWT, Swing, JavaFX & SWT 5
Z Component für File-Browser ähnliche Oberfläche AWT, Swing, JavaFX & SWT 6
B Swing verschachteltes GUI: repaint() ändert mehr als nur gewünschte Component AWT, Swing, JavaFX & SWT 4
V Swing remove(Component) blockiert Thread sehr lange. AWT, Swing, JavaFX & SWT 6
C Problem mit remove(Component comp) AWT, Swing, JavaFX & SWT 23
F AWT Component in OpenGL anzeigen? AWT, Swing, JavaFX & SWT 18
A Java Konsolen Component AWT, Swing, JavaFX & SWT 6
G Swing Component.toString() was bedeutet flags AWT, Swing, JavaFX & SWT 8
1 Eigene Component in JScrollBar + fixe Linien??? AWT, Swing, JavaFX & SWT 2
DamienX Swing Component auf mehreren Containern AWT, Swing, JavaFX & SWT 2
algorismi AWT Tranparente heavyweight component AWT, Swing, JavaFX & SWT 2
R Swing Methode add([Component]) funzt nich AWT, Swing, JavaFX & SWT 7
Developer_X AWT Component added keinen MouseListener AWT, Swing, JavaFX & SWT 7
U LayoutManager [GBL] Component aus einer Zelle löschen AWT, Swing, JavaFX & SWT 2
H Swing Illegal component position! AWT, Swing, JavaFX & SWT 2
C Flamingo Component AWT, Swing, JavaFX & SWT 2
M Doppelklick auf Component abfangen AWT, Swing, JavaFX & SWT 5
P DragAndDrop zw Component und Container AWT, Swing, JavaFX & SWT 4
M AWT Component/Canvas erzeugt unerwünschten Rahmen bei paint AWT, Swing, JavaFX & SWT 3
T Swing Component in Graphics zeichnen AWT, Swing, JavaFX & SWT 4
R Zugriff auf Component um addComponentListener() aufzurufen AWT, Swing, JavaFX & SWT 4
K AWT/SWING intern - Wie funktioniert die Component-Ermittlung AWT, Swing, JavaFX & SWT 13
S Line Component in SWING AWT, Swing, JavaFX & SWT 2
S java.awt.Component und paint() AWT, Swing, JavaFX & SWT 4
hdi Verständnisfrage: Container vs. Component AWT, Swing, JavaFX & SWT 3
D Eigene Component erstellen? AWT, Swing, JavaFX & SWT 4
C Syntax Highlighting Component AWT, Swing, JavaFX & SWT 2
O KeyBoardFocusManager - previous und next Component checken? AWT, Swing, JavaFX & SWT 2
A Eigene, sich selbst zeichnende Component AWT, Swing, JavaFX & SWT 5
A erneutes Öffnen jInternalFrame: illegal component position AWT, Swing, JavaFX & SWT 4
0 Component austauschen und aktualisieren ? AWT, Swing, JavaFX & SWT 6
S Thread beenden, wenn Component nicht mehr benötigt wird AWT, Swing, JavaFX & SWT 12
G "Rating Component" - Bewerten über JTable AWT, Swing, JavaFX & SWT 3
G Drag And Drop von Component (List, Tree) zum Desktop AWT, Swing, JavaFX & SWT 2
F LayoutManager und Component.setVisible(boolean) AWT, Swing, JavaFX & SWT 2
P Component ändern (repaint) AWT, Swing, JavaFX & SWT 9
F Probleme bei add(Component) JPanel > JFrame AWT, Swing, JavaFX & SWT 3
L Swing Component in Buffered Image AWT, Swing, JavaFX & SWT 6
G Component "finden" AWT, Swing, JavaFX & SWT 6
H Component fokussierbar machen AWT, Swing, JavaFX & SWT 2
P Wie das Component Object des Hauptfensters ermitteln? AWT, Swing, JavaFX & SWT 4
M GridBagLayout - Component Position AWT, Swing, JavaFX & SWT 4
R Component einer Form herausbekommen AWT, Swing, JavaFX & SWT 3
T JMenu/JMenuItem Component auf der geaddet wurde AWT, Swing, JavaFX & SWT 16
B Component in JSplitPane aktualisieren AWT, Swing, JavaFX & SWT 2
G add(Component) in paintComponent erlaubt ? AWT, Swing, JavaFX & SWT 2
K Component einfügen in JPane AWT, Swing, JavaFX & SWT 5
M getSize von Component und ModelListener AWT, Swing, JavaFX & SWT 2
S Component auf Label zeichnen? AWT, Swing, JavaFX & SWT 3
R convertPointToScreen(Point p, Component c) AWT, Swing, JavaFX & SWT 5
R Component aus Container entfernen bzw. austauschen. AWT, Swing, JavaFX & SWT 6
C JPanel Component austauschen AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben