Klappt nicht: Ein Panel neu zeichnen

Onkel Tom

Mitglied
Hallo Forum,
folgenden Text fand ich in einer Dokumentation. Ich habe eine Buttonfunktion hinzugefügt. Das Panel soll gelöscht werden.
Wird aber nichts. Einen Error bekomme ich aber auch nicht. Warum läuft das nicht ?

Onkel Tom

Java:
import javax.swing.*;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class NotHelloWorld
{

    public static void main(String[] args)
    {
        NotHelloWorldFrame frame = new NotHelloWorldFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.show();
    }

}
/** Ein Rahmen, der eine Grundfläche (Panel) für die Meldung enthält */
class NotHelloWorldFrame extends JFrame implements ActionListener
{ 
    //Beginn meine Ergänzung
    public JButton konvert=new JButton("TEST");
    NotHelloWorldPanel pan = new NotHelloWorldPanel();
    @Override
    public void actionPerformed(ActionEvent e)
    {
          String strComm = e.getActionCommand();
               if (strComm.equals("TEST"))
                  {
                      JOptionPane.showMessageDialog(null,strComm + "TESTMELDUNG 1 ");
                      pan.setBackground(Color.red);
                      pan.repaint();
                  }
          pan.Test2();     
    }
    //Ende
    
    public NotHelloWorldFrame()
    {
        konvert.addActionListener(this);
        
        //Bildschirmabmessungen holen
        Toolkit kit = Toolkit.getDefaultToolkit();
        Dimension screenSize = kit.getScreenSize();
        int screenHeight=screenSize.height;
        int screenWidth = screenSize.width;
        
        //Rahmen auf bildschirm zentrieren
        setSize(screenWidth / 2, screenHeight / 2);
        setLocation(screenWidth / 4, screenHeight / 4);
        
        
        setTitle("NotHelloWorld");
        setSize(WIDTH, HEIGHT);
        
        //Grundfläche zu Rahmen hinzufügen
        NotHelloWorldPanel panel = new NotHelloWorldPanel();
        Container contentPane = getContentPane();
        panel.add(konvert);
        contentPane.add(panel);
    }
    public static final int WIDTH = 400;
    public static final int HEIGHT = 200;
}

/** Eine grundfläche die eine Meldung anzeigt */

class NotHelloWorldPanel extends JPanel
{
    public void Test2()                              //meine Ergänzung, Panel soll gelöscht werden
    {
        setBackground(Color.red);
        repaint();
        String strComm="";
        JOptionPane.showMessageDialog(null,strComm + "TESTMELDUNG 2 ");
    }
    
    public void paintComponent(Graphics g)
    {
        super.paintComponent(g);                         
        g.drawString("A B C D E ", MESSAGE_X, MESSAGE_Y);
        
    }
    public static final int MESSAGE_X= 75;
    public static final int MESSAGE_Y=100;
}
:(
 

httpdigest

Top Contributor
Oh, ich glaube, ich habe dein Problem falsch verstanden. Mit "Das Panel soll gelöscht werden." meinst du wohl nicht, dass du das Panel entfernen möchtest, sondern, dass die Background-Farbe rot werden soll?
In diesem Fall ist dein Problem, dass du zwei Instanzen vom NotHelloWorldPanel erzeugst. Einmal als Instanzvariable innerhalb von NotHelloWorldFrame und einmal als lokale Variable innerhalb des Konstruktors von NotHelloWorldFrame. Allerdings setzt du aber nur die im Konstruktor angelegte Instanz auch in das JFrame, versuchst aber, die Hintergrundfarbe auf der Instanz in der Instanzvariablen zu setzen.
 

Blender3D

Top Contributor
Das Panel soll gelöscht werden.
Ich vermute einmal, dass Du mittels Button den Panel entfernen willst.
Java:
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.JFrame;

public class start {
    public static void main(String[] args) {
        Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
        int width = dim.width / 2;
        int height = dim.height / 2;
        JFrame frame = new NotHelloWorldFrame(width, height);
        frame.setLocation((dim.width - width) / 2, (dim.height - height) / 2);
    }
}
Java:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import javax.swing.JPanel;

@SuppressWarnings("serial")
public class NotHelloWorldPanel extends JPanel {

    public NotHelloWorldPanel(int width, int height) {
        setPreferredSize(new Dimension(width, height));
        setBackground(Color.DARK_GRAY);
        setForeground(Color.WHITE);
    }

    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.drawString("A B C D E ", 75, 100);
    }
}
Java:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

@SuppressWarnings("serial")
public class NotHelloWorldFrame extends JFrame implements ActionListener {
    private final static int DELETE = 0;
    private final static int INSERT = 1;
    private String[] buttonTxt = { "delete", "insert" };

    private JPanel panel = null;
    private JButton button = new JButton(buttonTxt[DELETE]);

    public NotHelloWorldFrame(int width, int height) {
        setPreferredSize(new Dimension(width, height));
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        panel = new NotHelloWorldPanel(width, height - 30);
        setBackground(Color.LIGHT_GRAY);
        add(button, BorderLayout.NORTH);
        add(panel, BorderLayout.CENTER);
        pack();
        setVisible(true);
        button.addActionListener(this);
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        String cmd = e.getActionCommand();
        if (cmd.equals(buttonTxt[DELETE])) {
            remove(panel);
            button.setText(buttonTxt[INSERT]);
        }
        if (cmd.equals(buttonTxt[INSERT])) {
            add(panel);
            button.setText(buttonTxt[DELETE]);
        }
        repaint();
    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Darkherobrine9 Import klappt nicht Java Basics - Anfänger-Themen 7
H Cast von Float nach String klappt nicht Java Basics - Anfänger-Themen 12
TeacherMrSSimon Schachspiel, Werte in Figur eintragen klappt nicht Java Basics - Anfänger-Themen 23
HolyFUT Input/Output Leerzeichen aus String entfernen - klappt nicht! Java Basics - Anfänger-Themen 13
F jsoup einloggen klappt nicht Java Basics - Anfänger-Themen 10
nbergmann Umgebungsvariablen einstellen unter Windows 7 klappt nicht Java Basics - Anfänger-Themen 2
C Erste Schritte Insert Into klappt nicht Java Basics - Anfänger-Themen 6
L Resourcen laden klappt nicht Java Basics - Anfänger-Themen 2
L Variablen Einheiten umrechen klappt nicht Java Basics - Anfänger-Themen 16
I Schleifendurchlauf ab 2. Durchlauf klappt nicht Java Basics - Anfänger-Themen 10
J Objecte in TreeSet einfügen klappt nicht Java Basics - Anfänger-Themen 5
J Datei auslesen klappt nicht Java Basics - Anfänger-Themen 4
S UserPref und Java Application klappt immer nicht. Java Basics - Anfänger-Themen 2
P Shape Zeichnen klappt nicht - einlesen der Breite/Höhe schon Java Basics - Anfänger-Themen 1
S clip.loop(Clip.LOOP_CONTINUOUSLY); stoppen klappt nicht! Java Basics - Anfänger-Themen 11
J Erste Schritte Zweithöchster Wert eines Arrays herausfinden - warum klappt mein Code nicht? Java Basics - Anfänger-Themen 3
D Telefon programmieren klappt nicht. Java Basics - Anfänger-Themen 5
VfL_Freak Tastaturabfrage auf '@' klappt nicht :-( Java Basics - Anfänger-Themen 1
M Image Download klappt nicht mehr Java Basics - Anfänger-Themen 4
B Erste Schritte Vererbung klappt nicht Java Basics - Anfänger-Themen 24
M zufälliges Setzen von Schiffen in while klappt nicht immer Java Basics - Anfänger-Themen 3
S Date parsen klappt nicht richtig Java Basics - Anfänger-Themen 3
K Einlesen einer txt von BufferedReader klappt nicht wie gewünscht Java Basics - Anfänger-Themen 12
H Runden klappt nicht Java Basics - Anfänger-Themen 10
S Dateien/LinkedList/StringBuffer - SOrtierung klappt nicht so ganz Java Basics - Anfänger-Themen 2
K CompareTo zwei mal benutzen klappt nicht. Java Basics - Anfänger-Themen 2
T Sortieren/Suche klappt nicht ganz (String Array) Java Basics - Anfänger-Themen 2
J Erste Schritte Bin ein Programm am schreiben klappt aber nicht und weis nicht warum Java Basics - Anfänger-Themen 20
F Dateien lesen klappt nicht Java Basics - Anfänger-Themen 2
Kenan89 Export klappt nicht Java Basics - Anfänger-Themen 2
K Serialisierung: speichern und auslesen, auslesen klappt nicht Java Basics - Anfänger-Themen 14
M Dividieren bei Grafischem Taschenrechner klappt nicht Java Basics - Anfänger-Themen 2
J Einem String-Array in einer for-Schleife Strings zuweisen - Klappt nicht in einer for-Schleife Java Basics - Anfänger-Themen 5
K Frame öffnen klappt nicht?! Java Basics - Anfänger-Themen 36
C Methoden Negativer Wert klappt nicht Java Basics - Anfänger-Themen 4
M Datei löschen, klappt nicht Java Basics - Anfänger-Themen 3
J Compiler-Fehler Eclipse .jar Export klappt nicht. Java Basics - Anfänger-Themen 17
A Oracle Verbindungsaufbau klappt nicht Java Basics - Anfänger-Themen 7
GianaSisters Erste Schritte Datei umbennen bzw verschieben klappt nicht Java Basics - Anfänger-Themen 6
T pattern klappt nicht so Java Basics - Anfänger-Themen 6
U Automatenprüfung in Java implementieren — String Vergleich klappt nicht Java Basics - Anfänger-Themen 40
K Klassenumbenennung klappt nicht Java Basics - Anfänger-Themen 11
M Synchronized klappt nicht Java Basics - Anfänger-Themen 11
I .csv-Datei einlesen klappt aber kann nicht in String geschrieben werden!?!?! Java Basics - Anfänger-Themen 11
N Serialization, Laden klappt nicht wenn die Klasse geändert wurde Java Basics - Anfänger-Themen 3
D Jar klappt nicht trotz main Methode Java Basics - Anfänger-Themen 19
R fireTableDataChanged klappt nicht Java Basics - Anfänger-Themen 7
M methoden aufruf klappt nicht Java Basics - Anfänger-Themen 6
I 1 Frame und mehrere Panels klappt nicht Java Basics - Anfänger-Themen 4
C SELECT klappt INSERT klappt nicht!!!??? Java Basics - Anfänger-Themen 3
Luk10 Aufrufen klappt nicht! Java Basics - Anfänger-Themen 7
A Quicksort, #Vergleiche zählen klappt nicht Java Basics - Anfänger-Themen 3
raptorrs Schreiben in Properties-File klappt nicht Java Basics - Anfänger-Themen 6
T Polymorphie:Überschreiben der Methode klappt nicht Java Basics - Anfänger-Themen 4
Gonzalez Eingabe des Benutzers mittels readLine()-Methode. Klappt in meinem Beispiel nicht! Java Basics - Anfänger-Themen 7
C .java in .class klappt nicht Java Basics - Anfänger-Themen 16
J Datenbankverbindung klappt doch nicht? IBM DB2 Java Basics - Anfänger-Themen 2
O JPanel einbinden klappt nicht Java Basics - Anfänger-Themen 5
B Strings aus Array einlesen klappt nicht Java Basics - Anfänger-Themen 5
J reverse array, klappt nicht ? Java Basics - Anfänger-Themen 3
L Leider klappt bei mir ein Befehl nicht Java Basics - Anfänger-Themen 4
G Unterverzeichnisse anlegen klappt nicht Java Basics - Anfänger-Themen 4
D Ausgabe klappt nicht Java Basics - Anfänger-Themen 9
1 JList Problem : Synchronisation mit Vector klappt nicht :( Java Basics - Anfänger-Themen 6
G EventHandling klappt nicht Java Basics - Anfänger-Themen 8
G JFreeChart und das Update(was nicht klappt). Java Basics - Anfänger-Themen 3
S Schleife klappt nicht Java Basics - Anfänger-Themen 5
G Vergleich klappt nicht Java Basics - Anfänger-Themen 3
J jar erstellen. Es klappt einfach nicht Java Basics - Anfänger-Themen 14
G JDK Installation klappt auf Vista nicht Java Basics - Anfänger-Themen 4
G Icon einfügen klappt nicht Java Basics - Anfänger-Themen 3
M String in textarea übernehmen klappt nicht Java Basics - Anfänger-Themen 13
M Insert into klappt nicht? Java Basics - Anfänger-Themen 7
V Insert into klappt nicht so ganz Java Basics - Anfänger-Themen 6
M Audioclip wiedergabe klappt nicht Java Basics - Anfänger-Themen 4
2 Aufruf einer Methode klappt nicht Java Basics - Anfänger-Themen 3
Y Main Klasse in Konsole ausführen klappt nicht Java Basics - Anfänger-Themen 7
T Plus-Operation beim Taschenrechner klappt nicht. Java Basics - Anfänger-Themen 7
U BufferedImages verschieben klappt nicht Java Basics - Anfänger-Themen 37
B textfeld mit enter auslesen klappt nicht Java Basics - Anfänger-Themen 12
D import java.utils.Scaner klappt nicht Java Basics - Anfänger-Themen 17
P Bestimmter befehl der nicht klappt Java Basics - Anfänger-Themen 5
P dynamisches Binden klappt nicht so recht Java Basics - Anfänger-Themen 7
D FileDIalog klappt. aber geladenes bild nicht angezeigt Java Basics - Anfänger-Themen 2
G Batch aufrufen klappt nicht mit Runtime Java Basics - Anfänger-Themen 5
G Inhalt Textfield in SQL Statement klappt nicht. Java Basics - Anfänger-Themen 2
C Runden auf 2 Nachkommastellen klappt nicht||| WARUM Java Basics - Anfänger-Themen 13
megachucky remove bei Vector klappt nicht Java Basics - Anfänger-Themen 11
C Exception abfangen->Klappt nicht ;( Java Basics - Anfänger-Themen 2
megachucky Collection Vector: ausgabe klappt nicht richtig Java Basics - Anfänger-Themen 9
C Ausführen klappt nicht Java Basics - Anfänger-Themen 14
M Vererbung klappt nicht richtig? Java Basics - Anfänger-Themen 6
T Methode soll etwas ausrechnen und zurückgeben (klappt nd) hat wer eine Idee? Java Basics - Anfänger-Themen 11
K In andere Zahlensysteme umwandeln, wann klappt immer der Trick mit log? Java Basics - Anfänger-Themen 6
K Methoden Pause drücken klappt nur jedes 2. Mal Java Basics - Anfänger-Themen 6
Z Lotto-Programm Wieso klappt das? Java Basics - Anfänger-Themen 8
K RGB Wert Heller machen (Dunkler machen klappt) Java Basics - Anfänger-Themen 2
D Rekursiv Kombinationen ausgeben klappt nur bei einer Wiederholung Java Basics - Anfänger-Themen 4
Z Speichern in eine .txt klappt.. fast Java Basics - Anfänger-Themen 23
M Will Sudokus basteln - klappt net Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben