JButton nicht sichtbar, aber funktionsfähig

Joker4632

Mitglied
Hallo,
Zuerst, ja ich hab gegoogelt, aber nein ich habe nicht genau das gefunden was ich gesucht habe.
Ich möchte eigentlich nur einen Button auf ein TitlePanel (extends JPanel, nullLayout), bei dem ich die Paint Methode überschrieben und nen MouseListner hinzugefügt habe, legen. Der Button selbst ist unverändert, nur setBounds() und ein ActionListner ist gesetzt. Dem titlePanel wurde er natürlich hinzugefügt.
Klicke ich an die Stelle wo er sein sollte wird auch der ActionListner des Button ausgelöst, er ist also da wo er sein sollte nur sehe ich ihn nicht.
Hab auch schon repaint() von Button & TitlePanel ausprobiert.. nichts.

Kann es sein, dass der Button von der paint Methoden überschrieben wird?

Hier das TitlePanel:
Java:
package fractalator.main.surface.components;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class TitlePanel extends JPanel {
   
    JFrame Frame;
    Point point;
    String title;

    public TitlePanel(String title, JFrame frame) {
        this.title = title;
        this.Frame = frame;
       
        this.setSize(frame.getWidth(), 50);
       
        point = Frame.getLocation();

         addMouseListener(new MouseAdapter() { 
             public void mousePressed(MouseEvent e) { 
                 if(!e.isMetaDown()){ 
                 point.x = e.getX(); 
                 point.y = e.getY(); 
                 } 
             } 
         }); 
         addMouseMotionListener(new MouseMotionAdapter() { 
             public void mouseDragged(MouseEvent e) { 
                 if(!e.isMetaDown()){ 
                 Point p = Frame.getLocation(); 
                 Frame.setLocation(p.x + e.getX() - point.x,  p.y + e.getY() - point.y); 
                 } 
             }
         });
    }
   
    @Override
    public void paint(Graphics g) {
   
        //TitleBar
        g.setColor(new Color(64,64,64));
        g.fillRect(0, 0, this.getWidth(), 50);
        g.setColor(new Color(255,255,255));
        g.setFont(new Font("Calibri",0,26));
        g.drawString(title, 20, 35);
        repaint();
    }

}

P.S.: Das Null-layout wird noch abgeändert, sollte aber eigentlich nicht das Problem sein.
 

Joker4632

Mitglied
Falls es wichtig sein sollte hier noch der Ausschnitt aus der JFrame Klasse:
Java:
TitlePanel = new TitlePanel("Userinterface", this);
        TitlePanel.setLocation(0, 0);
        TitlePanel.setLayout(null);
        BasePanel.add(TitlePanel);
       
button_close = new JButton("Bla");//(new ImageIcon("./src/IncludedGraphics/closebutton_icon.png"));
       button_close.addActionListener(new ActionListener() {
           
           @Override
           public void actionPerformed(ActionEvent e) {
               System.out.println("Something");
               
           }
       });
       button_close.setBounds(this.getWidth()-40, 10, 30, 30);
       //button_close.setFocusable(false);
       //button_close.setMargin(new Insets(0, 0, 0, 0));
       //button_close.setContentAreaFilled(false);
       //button_close.setBorderPainted(false);
       TitlePanel.add(button_close);
Das BasePanel ist eigentlich nutzlos aktuell, dient aber als Grundlage für mein JFrame.
 

Robat

Top Contributor
Versuch in deiner paint() Methode mal in der ersten Zeile super.paint(g); aufzurufen.
Grund dafür findest du in der API.

Generelle Anmerkungen:
- Halte dich an die Namenskonventionen.
Klassennamen - UpperCammelCase
Konstanten UPPER_CASE
Der Rest in lowerCammelCase

Das macht es für andere leichter den Code zu lesen :)

Gruß Robert
 

Joker4632

Mitglied
Stimmt die habe ich vergessen, funktioniert leider trotzdem nicht :(
Auch Graphics2D habe ich schon probiert... Falls es weiter hilft, sobald ich die Paint() Methode auskommentiere wird der button angezeigt.
Und ja, ich hab mir das Anfangs dummerweise angewöhnt... ich ändere es mal ab, Danke :confused:
 
Zuletzt bearbeitet:

Joker4632

Mitglied
Ok, ich hab es!
Ich schätze der Tipp mit super.paint(g) war nicht so verkehrt. Nur scheint mein repaint() am Ende auch wieder den Button übermal zu haben oder evtl. eine Loop erzeugt haben? Weiß nicht wie das abläuft.
Ohne repaint() gehts aber. Danke.
 

Robat

Top Contributor
Gibt es eigentlich Gründe, dass du paint() überschreibst und nicht paintComponent() ?

repaint() sollte man ohnehin nicht in einer paint() / paintComponent() Methode aufrufen :p
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K JButton nicht sichtbar machen für User 2 AWT, Swing, JavaFX & SWT 4
N JButton erben, Buttons nicht sichtbar AWT, Swing, JavaFX & SWT 2
J Thread kennt JButton nicht. AWT, Swing, JavaFX & SWT 11
B Swing JButton deaktivieren, wenn nicht alle JTextFields ausgefüllt sind. AWT, Swing, JavaFX & SWT 2
T KeyListener funktioniert nicht wenn ich ein JButton hinzufüge AWT, Swing, JavaFX & SWT 1
B JButton erscheint in JFrame, obwohl er diesem nicht zugeordnet wurde! AWT, Swing, JavaFX & SWT 1
C Swing JButton wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
X Swing JButton's zum JScrollPane hinzufügen geht nicht. Bitte um Hilfe. AWT, Swing, JavaFX & SWT 9
J Swing Basics - JButton funktioniert nicht. AWT, Swing, JavaFX & SWT 1
A JButton wird bei ActionListener nicht "angenommen" AWT, Swing, JavaFX & SWT 7
BRoll JButton Text nicht ausblenden ("...") AWT, Swing, JavaFX & SWT 2
W Swing JButton lässt sich nicht anzeigen AWT, Swing, JavaFX & SWT 8
D Swing JButton.setenabled(true) funktioniert nicht AWT, Swing, JavaFX & SWT 12
G JButton deaktivieren greift nicht AWT, Swing, JavaFX & SWT 14
NR_EIGHT Swing JButton zeigt Icons nicht an AWT, Swing, JavaFX & SWT 3
F JButton setPressedIcon funktioniert nicht AWT, Swing, JavaFX & SWT 12
E JButton wird nicht (sofort) angezeigt AWT, Swing, JavaFX & SWT 3
C JButton in JTable ist nicht klickbar AWT, Swing, JavaFX & SWT 4
3 Swing JButton reagiert nicht AWT, Swing, JavaFX & SWT 6
B JButton wird nicht angezeigt AWT, Swing, JavaFX & SWT 6
V Ein Image als Button (nicht mit JButton(Icon)) AWT, Swing, JavaFX & SWT 5
F ActionListener von JButton funktioniert mit JFrame aber nicht mit JDialog AWT, Swing, JavaFX & SWT 2
B JButton wird nicht dargestellt AWT, Swing, JavaFX & SWT 6
B JButton setPreferredSize() klappt nicht AWT, Swing, JavaFX & SWT 6
G JButton aus JPanel Class nicht erreichbar AWT, Swing, JavaFX & SWT 7
M Ausgabe nach Klick auf JButton funktioniert nicht. AWT, Swing, JavaFX & SWT 6
A JButton reagiert nicht auf KeyListener//Focuslistener AWT, Swing, JavaFX & SWT 4
B JButton Größe; Inhalt wird nicht angezeigt (.) AWT, Swing, JavaFX & SWT 4
R Swing zeigt JButton und JTextfield nicht an? AWT, Swing, JavaFX & SWT 2
D JButton und JTextArea nehmen die Größe nicht an AWT, Swing, JavaFX & SWT 2
G jbutton mit linebreak. setEnabled geht nicht mehr AWT, Swing, JavaFX & SWT 4
A JButton und JCheckBox im JTree reagieren nicht AWT, Swing, JavaFX & SWT 13
G JButton mit importFiles-Funktion auf JDrawPane AWT, Swing, JavaFX & SWT 5
B JButton Search AWT, Swing, JavaFX & SWT 8
B Swing JButton mit KeyListener AWT, Swing, JavaFX & SWT 3
L JButton durch Mausklick auslösen und Enter-Taste AWT, Swing, JavaFX & SWT 2
N Erlennen ob JButton gedrückt ist AWT, Swing, JavaFX & SWT 6
D JButton Form verändern AWT, Swing, JavaFX & SWT 4
R Grafik per JButton laden und austauschen lassen AWT, Swing, JavaFX & SWT 14
SvenPittelkow Programm soll auf JButton warten bis der geklickt wurde AWT, Swing, JavaFX & SWT 1
Badebay Problem mit JButton AWT, Swing, JavaFX & SWT 2
Z Swing Drag and Drop mit einem JButton AWT, Swing, JavaFX & SWT 1
Z Swing Kann man auf JButton zeichenen AWT, Swing, JavaFX & SWT 3
J JButton Icon hinzufügen AWT, Swing, JavaFX & SWT 5
U Swing JButton mit Icon AWT, Swing, JavaFX & SWT 7
ms_cikar Jbutton erzeugt neue Buttons AWT, Swing, JavaFX & SWT 2
Drachenbauer Swing Wie ändere ich die Farbe der Konturen von jButton und jCombobox? AWT, Swing, JavaFX & SWT 18
Drachenbauer Swing Wie ändere ich die helle geklickt-Farbe von einem JButton? AWT, Swing, JavaFX & SWT 4
A Swing JButton mit Pfeiltasten bewegen AWT, Swing, JavaFX & SWT 6
F Swing Scrollbare Liste von JButton AWT, Swing, JavaFX & SWT 4
Hatsi09 JButton text layout AWT, Swing, JavaFX & SWT 9
J JButton zum ändern Der Schriftart/Schriftgröße AWT, Swing, JavaFX & SWT 2
A Swing JButton aussehen AWT, Swing, JavaFX & SWT 12
J jButton soll nach klicken eine Variable um 1 erhöhen AWT, Swing, JavaFX & SWT 2
Legi Swing JButton Icon verschiebt sich AWT, Swing, JavaFX & SWT 2
T Swing Änderung des ActionListener Events nach Klick auf JButton AWT, Swing, JavaFX & SWT 2
S Swing JButton verschwindet nach Compilieren AWT, Swing, JavaFX & SWT 8
B Swing Posistion von JButton auslesen gibt immer 0 aus AWT, Swing, JavaFX & SWT 1
G Swing JButton ändert (unerwünscht) Größe bei Ausführung AWT, Swing, JavaFX & SWT 4
MR._FIRE_Flower Variable setzten mit JButton AWT, Swing, JavaFX & SWT 5
S Mit JButton neues Fester öffnen und das alte schließen AWT, Swing, JavaFX & SWT 3
T JButton wird beim vergrößern des Fensters erst sichtbar AWT, Swing, JavaFX & SWT 4
R Swing Verändern der Ausrichtung JButton und neu anzeigen AWT, Swing, JavaFX & SWT 2
G Swing JButton - Keine Klickanimation AWT, Swing, JavaFX & SWT 4
D JButton per Tastenkombi auswählen AWT, Swing, JavaFX & SWT 2
L Swing JButton soll link öffnen AWT, Swing, JavaFX & SWT 1
K JButton auf anderer Klasse AWT, Swing, JavaFX & SWT 6
A JButton soll durch anklicken die Farbe wechseln AWT, Swing, JavaFX & SWT 8
R Swing ActionListener bei JButton AWT, Swing, JavaFX & SWT 9
B JButton -> Rahmen wegbekommen AWT, Swing, JavaFX & SWT 7
N JButton über benutzerdefinierte paintComponent setzen AWT, Swing, JavaFX & SWT 3
T JButton überlagern sich und werden erst beim Mausscrollen sichtbar AWT, Swing, JavaFX & SWT 2
M JButton Probleme AWT, Swing, JavaFX & SWT 14
T Klasse über JButton schließen AWT, Swing, JavaFX & SWT 4
M Textfarbe JButton verändern AWT, Swing, JavaFX & SWT 2
N JButton ausblenden AWT, Swing, JavaFX & SWT 2
M Swing jButton Text verschwindet AWT, Swing, JavaFX & SWT 2
stylegangsta JLabel durch Klick auf JButton einblenden AWT, Swing, JavaFX & SWT 16
stylegangsta Eigene Klasse für JButton aus dem JFrame abrufen AWT, Swing, JavaFX & SWT 29
stylegangsta MouseEvents aus JButton aufrufen AWT, Swing, JavaFX & SWT 3
stylegangsta JButton Transparent anzeigen AWT, Swing, JavaFX & SWT 9
stylegangsta JButton Fehelr javax.swing.ImageIcon.<init>(Unknown Source) AWT, Swing, JavaFX & SWT 24
D JButton - Nur Icon anzeigen / transparenter Hintergrund AWT, Swing, JavaFX & SWT 2
S JButton-Label vergrößern AWT, Swing, JavaFX & SWT 2
L JButton mit ImageIcon/Fehlermeldung AWT, Swing, JavaFX & SWT 1
D jButton Problem, ein Rieser Button bedeckt das ganze frame AWT, Swing, JavaFX & SWT 1
L Array mit JButton, wie rausfinden auf welche JButton geklickt wurde + index des JButtons ausgeben AWT, Swing, JavaFX & SWT 4
K (GUI) JButton Farbe bei druck ändern AWT, Swing, JavaFX & SWT 3
L JButton mit Image AWT, Swing, JavaFX & SWT 5
fLooojava JButton [Focus) AWT, Swing, JavaFX & SWT 4
M JButton - Listener AWT, Swing, JavaFX & SWT 1
D jButton auf von jFrame erzeugtem jDialog AWT, Swing, JavaFX & SWT 16
L JButton flackern - Programm hängt sich auf AWT, Swing, JavaFX & SWT 3
L JButton - Größe anders als erwartet AWT, Swing, JavaFX & SWT 2
1 JButton nach Klick ausblenden AWT, Swing, JavaFX & SWT 6
X Swing 1 JButton bedeckt meine ganze Frame aber Warum? AWT, Swing, JavaFX & SWT 2
S Größe und Farbe vom JButton festlegen AWT, Swing, JavaFX & SWT 2
H Swing JList/JTable mit JButton, JTextField, Image, JComboBox und JLable AWT, Swing, JavaFX & SWT 2
J JButton neu zeichnen lassen AWT, Swing, JavaFX & SWT 9
S JButton u. Label auf paint-Methode AWT, Swing, JavaFX & SWT 1

Ähnliche Java Themen

Neue Themen


Oben