Checkboxstatus abfragen

Hagb

Mitglied
Also, ich habe jetzt seit Stunden immer wieder dasselbe versucht, finde den Fehler aber nicht. Hier mal ein Ausschitt meines Quellcode (der alleinstehend eigentlich auch funktionieren sollte, aber eben leider nicht ganz):

Java:
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Checkbox extends Applet implements ItemListener
	 	{
			JFrame frame = new JFrame();
			JSlider value;
			JCheckBox k1,k2;
			boolean K1=true, K2=true;

	 		
	 		public void init()
	 		{   
	 			frame.setTitle("Einstellungen");
	 			frame.setDefaultCloseOperation( JFrame.DO_NOTHING_ON_CLOSE );	
	 			frame.setLayout(new BorderLayout());
	 			frame.setVisible( true );
	 			frame.setAlwaysOnTop(true);
	 			JPanel panel = new JPanel();
	 			frame.add( panel, BorderLayout.NORTH );
	 			frame.pack();
	 			frame.setBounds(1100, 300, 150, 380);
	 		
	 		        
	 	        JCheckBox k1 = new JCheckBox("Hello" , true );
	 	        JCheckBox k2 = new JCheckBox("Hello2", true );
	 	        panel.setLayout(new GridLayout(2,1));
	 	        panel.add(k1);
	 	        panel.add(k2);

	 	        
	 	        k1.addItemListener (this);
	 	        k2.addItemListener (this);

	 		}
	 		public void paint(Graphics gr)
	 		{
	 		if (K1) gr.drawString("Hello",30, 30);
	 		if (K2) gr.drawString("Hello2",30, 60);
	 		}
	 		
			public void itemStateChanged(ItemEvent e)
	 		{
	 			if (k1.isSelected()) K1=true; else K1=false;
	 			if (k2.isSelected()) K2=true; else K2=false;
                                repaint();

	 		}
		}

Es geht um folgendes Problem:Wenn ich nun eine Checkbox ankreuze sollte das Hello bzw. das Hello2 verschwinden bzw. auftauchen, leider bleibt es immer sichtbar. Was mache ich falsch, ich verzweifle langsam...
Ich bedanke mich für jede Hilfe :D
 

Marco13

Top Contributor
Am Anfang von paint sowas wie

g.setColor(Color:WHITE);
g.fillRect(0,0,getWidth(),getHeight());
g.setColor(Color.BLACK);

um den Hintergrund zu löschen.
BTW:
Code:
if (k1.isSelected()) K1=true; else K1=false;
->
Code:
K1=k1.isSelected();
 

Ariol

Top Contributor
Java:
public void paint(Graphics gr)
{
    gr.setColor(Color.WHITE);
    gr.fillRect(0,0,getWidth(),getHeight());
    gr.setColor(Color.BLACK);
    if (K1) gr.drawString("Hello",30, 30);
    if (K2) gr.drawString("Hello2",30, 60);
}



EDIT: Java-Tags
 

Hagb

Mitglied
Danke für die schnellen antworten :D

also ich habs mal nach euren vorschlägen geändert,
K1=k1.isSelected(); ist natürlich eine wunderbare Idee :p

aber es will trotzdem nicht ganz funktionieren. also wenn das applet gestartet wird ist alles prima, wenn man aber das häckchen wegnimmt bleiben die "Hellos", die sollten aber verschwinden...
 

Hagb

Mitglied
Der Quellcode nochmal ....

Java:
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class Checkbox extends Applet implements ItemListener
        {
            JFrame frame = new JFrame();
            JSlider value;
            JCheckBox k1,k2;
            boolean K1=true, K2=true;
 
            
            public void init()
            {   
                frame.setTitle("Einstellungen");
                frame.setDefaultCloseOperation( JFrame.DO_NOTHING_ON_CLOSE );   
                frame.setLayout(new BorderLayout());
                frame.setVisible( true );
                frame.setAlwaysOnTop(true);
                JPanel panel = new JPanel();
                frame.add( panel, BorderLayout.NORTH );
                frame.pack();
                frame.setBounds(1100, 300, 150, 380);
            
                    
                JCheckBox k1 = new JCheckBox("Hello" , true );
                JCheckBox k2 = new JCheckBox("Hello2", true );
                panel.setLayout(new GridLayout(2,1));
                panel.add(k1);
                panel.add(k2);
 
                
                k1.addItemListener (this);
                k2.addItemListener (this);
 
            }
           
            	public void paint(Graphics gr)
            	{
            		gr.setColor(Color.WHITE);
            		gr.fillRect(0,0,getWidth(),getHeight());
            		gr.setColor(Color.BLACK);
            	    if (K1) gr.drawString("Hello",30, 30);
            	    if (K2) gr.drawString("Hello2",30, 60);

            }
            
            public void itemStateChanged(ItemEvent e)
            {
                K1=k1.isSelected();
                K2=k2.isSelected();
                repaint();
 
            }
        }
 

Marco13

Top Contributor
*nochmal drüberschaut* Moment mal :shock: das ist ja komplett falsch :D Dort wird ein JFrame erstellt. Soll das ein Applet werden, oder eine Anwendung? (Eine Anwendung hat einen JFrame, ein Applet hat meistens keinen, und man sollte nicht AWT und Swing mischen...)
 

Hagb

Mitglied
Das Programm ist noch um einiges grösser, es ist nur ein Ausschnitt. Der Haupteil des Programms ist im Applet, man sollte jedoch eine Beschriftung ab- oder anwählen können. Der Frameteil dient nur zu diesem Zweck. Ich habe auch einen JSlider ins Frame eingebaut und der wirkt sich ganz normal auf das Applet aus. Da dachte ich mit der Checkbox würde es auch gehen.

Ich habe auch schon oft gelesen .swing* und .awt* sollen nicht kombiniert wedren, bei mir hats bis jetzt einfach funktioniert, da hoffte ich, dass die Checkboxen auch gehen würden.
 
Zuletzt bearbeitet:
S

SlaterB

Gast
im Konstruktor werden lokale Variablen angelegt die genau die die Instanzattribute heißen, letztere bleiben null,
beim Zugriff in anderen Methoden dann NullPointerExceptions,
in Applets vielleicht noch weniger zu erkennen als in Konsolen zu normalen GUI-Programmen, eher damit anfangen,
nur einigemaßen funktionierende Sachen übertragen
 
G

Gast2

Gast
Nur weil du mit ner Eisenbahn auch auf nen paar Straßen fahren könntest solltest du doch lieber dein auto dafür hernehmen ;)
Es hat schon seine Gründe warum man Swing und AWT nicht mischen sollte, da kommen oft unschöne (vermeindlich unerklärbare) sachen bei rum.

Zu deinem Code:
Deine checkboxen K1 und k2 sind null.
 

Hagb

Mitglied
DANKE LEUTE
Ihr seid GENIES

So geht es :D


Java:
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class Checkbox extends Applet implements ItemListener
        {
            JFrame frame = new JFrame();
            JSlider value;
          
            boolean K1=true, K2=true;
            JCheckBox k1 = new JCheckBox("Hello" , true );
            JCheckBox k2 = new JCheckBox("Hello2", true );
 
            
            public void init()
            {   
                frame.setTitle("Einstellungen");
                frame.setDefaultCloseOperation( JFrame.DO_NOTHING_ON_CLOSE );   
                frame.setLayout(new BorderLayout());
                frame.setVisible( true );
                frame.setAlwaysOnTop(true);
                JPanel panel = new JPanel();
                frame.add( panel, BorderLayout.NORTH );
                frame.pack();
                frame.setBounds(1100, 300, 150, 380);
            
                    
                
                panel.setLayout(new GridLayout(2,1));
                panel.add(k1);
                panel.add(k2);
        
 
                
                k1.addItemListener (this);
                k2.addItemListener (this);
                repaint();
 
            }
           
            	public void paint(Graphics gr)
            	{
            		gr.setColor(Color.WHITE);
            		gr.fillRect(0,0,getWidth(),getHeight());
            		gr.setColor(Color.BLACK);
            	    if (K1) gr.drawString("Hello",30, 30);
            	    if (K2) gr.drawString("Hello2",30, 60);

            }
            
            public void itemStateChanged(ItemEvent e)
            {
                K1=k1.isSelected();
                K2=k2.isSelected();
                repaint();
 
            }
        }
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Map<String, Integer> sortieren und der reinfolge nach die Glieder abfragen Java Basics - Anfänger-Themen 3
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
ven000m Bitcoin Blockhöhe abfragen Java Basics - Anfänger-Themen 12
S If abfragen (+, - , /, *) Java Basics - Anfänger-Themen 13
M Dialogbox solange abfragen, bis gültige Wert-Eingabe Java Basics - Anfänger-Themen 12
Phash Websocket abfragen Java Basics - Anfänger-Themen 1
volcanos List & ArrayList nach Familiennamen abfragen Java Basics - Anfänger-Themen 57
E schneller von der Datenbank abfragen Java Basics - Anfänger-Themen 15
M Checkbox abfragen und Radiobutton Group zurücksetzen Java Basics - Anfänger-Themen 1
L Datenpaare abfragen Java Basics - Anfänger-Themen 11
O ADT Graph nach größe Abfragen Java Basics - Anfänger-Themen 42
B Serial port abfragen Java Basics - Anfänger-Themen 18
F Ordner auf alle Unterdatein abfragen Java Basics - Anfänger-Themen 3
N Abfragen eines Textes aus einem JTextField in Java, Funktion, CardLayout, Java Basics - Anfänger-Themen 2
S boolean Wert von mehreren int Möglichkeiten abfragen ? Java Basics - Anfänger-Themen 4
H Variablen Methode zum Abfragen von Variablen aus Subklassen Java Basics - Anfänger-Themen 9
T Erste Schritte Textfeld abfragen ob etwas enthalten ist. Java Basics - Anfänger-Themen 17
S Asynchrone Socket-Abfragen Java Basics - Anfänger-Themen 5
S mehrfache if-Abfragen - beste Lösung Java Basics - Anfänger-Themen 1
E Abfragen des SimpleDateFormats Java Basics - Anfänger-Themen 1
L int array abfragen Java Basics - Anfänger-Themen 16
T Variablen Var aus While-Schleife abfragen -.-' Java Basics - Anfänger-Themen 9
Y Mehrdimensionales Array diagonal abfragen. Java Basics - Anfänger-Themen 5
S Datenbank auf Knopfdruck abfragen Java Basics - Anfänger-Themen 8
T if abfragen verkürzen Java Basics - Anfänger-Themen 5
M Wo Hilfsvariablen abfragen? Java Basics - Anfänger-Themen 1
M Farben/Color Abfragen von Farben innerhalb einer Methode Java Basics - Anfänger-Themen 9
M "Exceptions abfragen" Java Basics - Anfänger-Themen 6
M Frage nach BestPractice in if-Abfragen Java Basics - Anfänger-Themen 1
P Anlegen und Abfragen von Array List Java Basics - Anfänger-Themen 4
R IF Abfragen Java Basics - Anfänger-Themen 8
R If Abfragen Problem! Java Basics - Anfänger-Themen 4
I Button abfragen ob er geklickt wurde Java Basics - Anfänger-Themen 4
C If Abfragen Problem Java Basics - Anfänger-Themen 46
I Drei booleans abfragen Java Basics - Anfänger-Themen 2
R Input/Output Java String abfragen Java Basics - Anfänger-Themen 3
A Vokabel abfragen Java Basics - Anfänger-Themen 3
R Datentypen Datentyp eines Werts in einer Textdateizeile abfragen und ändern Java Basics - Anfänger-Themen 4
N Best Practice Stilistische Anwendung von if/else-Abfragen Java Basics - Anfänger-Themen 7
E Checkboxen abfragen Java Basics - Anfänger-Themen 10
H if abfragen Java Basics - Anfänger-Themen 38
C TreeMap Abfragen Problem Java Basics - Anfänger-Themen 7
S Abfragen wenn das ende einer Tabelle erreicht ist Java Basics - Anfänger-Themen 8
B mehrere Abfragen zusammenfügen Java Basics - Anfänger-Themen 3
H durch Schleife 50 Variablen abfragen Java Basics - Anfänger-Themen 8
B If abfragen! Java Basics - Anfänger-Themen 9
J checkbox status abfragen und drucken Java Basics - Anfänger-Themen 13
M AWT Applet - Button aus anderer Klasse abfragen Java Basics - Anfänger-Themen 4
F Bedingungen mit Abfragen verknüpfen Java Basics - Anfänger-Themen 7
P länge von array abfragen? Java Basics - Anfänger-Themen 2
Gossi Input/Output Datei Lesen, inhalt abfragen, speichern Java Basics - Anfänger-Themen 5
T jNumberField auf null abfragen Java Basics - Anfänger-Themen 5
Z Erste Schritte LinkedList Werte abfragen und vergleichen Java Basics - Anfänger-Themen 3
S Input/Output Welche Möglichkeiten Eingabe von User abfragen Java Basics - Anfänger-Themen 5
S unzulässigen Wert abfragen - aber wo Java Basics - Anfänger-Themen 3
eLogic Aktive Internetverbindung abfragen Java Basics - Anfänger-Themen 21
B Abfragen eines Preises.. Java Basics - Anfänger-Themen 20
D Touchpad abfragen?! Java Basics - Anfänger-Themen 9
D Abfragen ob Excel-Dateien Makros enthalten? Java Basics - Anfänger-Themen 4
B Abfragen eines Excel-Feldes auf null Java Basics - Anfänger-Themen 17
B GridLayout - elemente mit Maus abfragen Java Basics - Anfänger-Themen 3
B Daten in Instanz einer Klasse ändern / abfragen Java Basics - Anfänger-Themen 12
M Datentypen String mit Trennzeichen abfragen Java Basics - Anfänger-Themen 7
D GUI Checkboxen in allen Klassen abfragen? Java Basics - Anfänger-Themen 5
B OOP String auf bestimmte Zeichen abfragen Java Basics - Anfänger-Themen 4
M Double.NaN abfragen Java Basics - Anfänger-Themen 6
J Performance Vergleich von if-Abfragen mit mehreren Bedingungen Java Basics - Anfänger-Themen 9
H Objecttyp abfragen... Java Basics - Anfänger-Themen 11
N Zeilenanzahl einer TXT abfragen..? Java Basics - Anfänger-Themen 11
S Bremsen 3 IF-Abfragen ein Programm? Java Basics - Anfänger-Themen 7
T scanner bestimmtes format abfragen Java Basics - Anfänger-Themen 5
T JOptionPane mit .showInputDialog: Ergebnis abfragen? Java Basics - Anfänger-Themen 2
S Absatz aus Textdokument abfragen Java Basics - Anfänger-Themen 6
B gedrückte Tasten abfragen Java Basics - Anfänger-Themen 11
L "unschöne" if-Abfragen Java Basics - Anfänger-Themen 4
JFeel-x JComponent<-----Eigenschaften<-- Als Liste abfragen? Java Basics - Anfänger-Themen 8
P Pixelfarbe abfragen Java Basics - Anfänger-Themen 8
J einfache Tastendrücke in einem JFrame abfragen Java Basics - Anfänger-Themen 2
S if-Abfragen bringen mich zum VERZWEIFELN! Java Basics - Anfänger-Themen 12
B Aus JTable ImageIcon abfragen Java Basics - Anfänger-Themen 8
hdi Desktop-Auflösung abfragen -> setLocation() von Frame Java Basics - Anfänger-Themen 5
D jeditorpane checkbox abfragen? Java Basics - Anfänger-Themen 7
A Googel Lokal abfragen Java Basics - Anfänger-Themen 7
G in einem inputstream auf " " abfragen? Java Basics - Anfänger-Themen 3
T Rechner-Name abfragen Java Basics - Anfänger-Themen 6
N Event auf JTabbedPane abfragen ? Java Basics - Anfänger-Themen 8
M Maus position abfragen und setzen? Java Basics - Anfänger-Themen 1
L JTabel abfragen ob es eine erste Zeile gibt? Java Basics - Anfänger-Themen 2
G If Abfragen Java Basics - Anfänger-Themen 3
T Variablen Classübergreifen abfragen Java Basics - Anfänger-Themen 6
S Abfragen ob Label enabled ist . Java Basics - Anfänger-Themen 2
M Status von ext. Programm abfragen Java Basics - Anfänger-Themen 2
G [Applet] Mauskkoodinaten abfragen Java Basics - Anfänger-Themen 3
C String.split("") einzelne Positionen abfragen Java Basics - Anfänger-Themen 10
R Vector mit contains abfragen Java Basics - Anfänger-Themen 32
T String splitten und auf fehler abfragen Java Basics - Anfänger-Themen 3
V thread, variable abfragen Java Basics - Anfänger-Themen 14
F Abfragen aber wie ? Java Basics - Anfänger-Themen 7
G JDialog-Status im Frame abfragen Java Basics - Anfänger-Themen 2
V .jar macht keine Datenbank abfragen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben