Checkbox immer wieder überprüfen

Os-Programming

Mitglied
Hallo ich hab eine Checkbox die wenn sie angeklickt wird einen Text in die Zwischenablage kopieren soll
allerdings müsste die Checkbox in kleinen Zeitabständen immer wieder auf das Textfekd zugreifen und den Text neu holen, weil wenn ich die Checkbox aktiviere bevor in dem Textfeld was steht dann kopiert er ja den leeren Inhalt daher meine Frage wie ich einer Checkbox sagen kann das sie in einem bestimmten Zeitintervall immer wieder getText() aufrufen soll.... muss ich das per Thread und dann sleep() machen ?
Danke
 

eRaaaa

Top Contributor
Mhm, wieso nicht einfach einen DocumentListener o.ä. am Textfeld registrieren und dann eben die Checkbox (de)-aktivieren ? :bahnhof:
 

Os-Programming

Mitglied
hm also irgendwie kriege ich es doch nicht hin mein Programm hängt sich immer auf wenn ich die Checkbox aktiviere , mit dem DocumentListener weiß ich leider nicht umzugehen daher hatte ich es als Thread versucht aber da hängt sich das Programm wie gesagt auf... hier mal der Code:

Java:
public class Kopieren implements Runnable {
Thread t;
......

public void run()
	{
while(true) {
		
Clipboard zwischenablage = Toolkit.getDefaultToolkit().getSystemClipboard(); 
				StringSelection stringselection = new StringSelection(copyField.getText());
				zwischenablage.setContents(stringselection, null);

			try {
				t.sleep(10);
			} catch (InterruptedException e) {}
		
	}
}

.........


kopierenCheckBox.addItemListener(new ItemListener() {

			public void itemStateChanged(ItemEvent e)

			{
				if (e.getStateChange () == ItemEvent.SELECTED) {
				
            run();
				
			}
			if (e.getStateChange () == ItemEvent.DESELECTED) {
			   t.interrupted(); 
			}
			}
		});
	}

EDIT:Wieso hängt er sich jetzt hier auf ich habe doch eine Abbruchbedingung indem ich die Checkbox ausschalte ... pls brauche eure Hilfe
 
Zuletzt bearbeitet:

eRaaaa

Top Contributor
mit dem DocumentListener weiß ich leider nicht umzugehen

Gibt doch genügend Beispiele im Netz
Java:
				copyField.getDocument().addDocumentListener(new DocumentListener() {
					
					public void removeUpdate(DocumentEvent e) {
						kopierenCheckBox.setEnabled(!copyField.getText().isEmpty());
					}
					
					public void insertUpdate(DocumentEvent e) {
						kopierenCheckBox.setEnabled(!copyField.getText().isEmpty());
					}
					
					public void changedUpdate(DocumentEvent e) {}
				});

Ansonsten ginge es auch noch mit einem DocumentFilter :p
 

Os-Programming

Mitglied
EDIT:

hm das klappt irgendwie nicht -.- bekomme immer Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException

Habe das jetzt so eingebaut:

Java:
JCheckBoxMenuItem kopierenCheckBox;

....
 copyField.getDocument().addDocumentListener(new DocumentListener() {
                    
                    public void removeUpdate(DocumentEvent e) {
                        kopierenCheckBox.setEnabled(!copyField.getText().isEmpty());
                    }
                    
                    public void insertUpdate(DocumentEvent e) {
                        kopierenCheckBox.setEnabled(!copyField.getText().isEmpty());
                    }
                    
                    public void changedUpdate(DocumentEvent e) {}
                });

.....
JCheckBoxMenuItem kopierenCheckBox = new JCheckBoxMenuItem("Kopieren!"));
        editMenu.add(kopierenCheckBox);
        kopierenCheckBox.setSelected(false);

....
kopierenCheckBox.addItemListener(new ItemListener() {

			public void itemStateChanged(ItemEvent e)

			{
			    if (e.getStateChange () == ItemEvent.SELECTED) {
			    Clipboard zwischenablage = Toolkit.getDefaultToolkit().getSystemClipboard(); 
                StringSelection stringselection = new StringSelection(copyField.getText());
                zwischenablage.setContents(stringselection, null);
			
}
}
		});

kann man das nicht mit nem Thread lösen und dann per ItemListener ich glaube das würde ich auch besser durchblicken =)
 
Zuletzt bearbeitet:

eRaaaa

Top Contributor
hm das klappt irgendwie nicht -.- bekomme immer awt eventQueue 0
kann man das nicht mit nem Thread lösen und dann per ItemListener ich glaube das würde ich auch besser durchblicken =)

Zeig uns doch mal deinen Code wo du jetzt den Listener eingebaut hast ! Das mit dem Thread finde ich ist keine gute Idee !
Du könntest natürlich auch einfach in deinem itemStateChanged prüfen ob das Textfeld leer ist oder nicht und erst dann etwas in die Zwischenablage legen :bahnhof:
 

Os-Programming

Mitglied
den code habe ich oben als edit eingefügt
die nullpointer exception bekomme ich glaube ich weil ich nichts in dem textfeld stehen hatte wenn ich was reinschreibe dann zeigt er es aber auch erst an wenn ich in das Textfeld drücke und er kopiert trotzdem nur einmal und nicht immer wenn sich das im Textfeld was ändert

Ja aber wenn ich erst die Checkbox aktivere und dann erst was ins Textfeld reinschreibe soll er das ja trotzdem kopieren und er soll halt nicht nur einmal kopieren sondern jedesmal wenn sich das was im Textfeld verändert
 
Zuletzt bearbeitet:

eRaaaa

Top Contributor
Hä?
Also so kommen wir hier nicht weiter. Erstelle ein simples kleines Beispielprogramm, das jeder hier ausführen kann und sich auf das Wichtigste beschränkt und vor allem: Erkläre noch einmal genau was du eig. machen willst? Wann soll nun etwas in die Zwischenablage kopiert werden? Jedes mal wenn sich der Text im Textfeld ändert UND die Checkbox aktiviert ist oder wie?

Also so etwas wie:
Java:
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;

/**
 * Snippet
 * 
 */
public class App {
	
	final JCheckBox kopierenCheckBox = new JCheckBox("Zwischenablage");
	final JTextField copyField = new JTextField(20);

	public App() {
		JFrame frame = new JFrame();
		JPanel panel = new JPanel();

		copyField.getDocument().addDocumentListener(new DocumentListener() {
			public void removeUpdate(DocumentEvent e) {
				if(kopierenCheckBox.isSelected() && !copyField.getText().isEmpty()){
					copyText();
				}
			}
			
			public void insertUpdate(DocumentEvent e) {
				if(kopierenCheckBox.isSelected() && !copyField.getText().isEmpty()){
					copyText();
				}
			}
			
			public void changedUpdate(DocumentEvent e) {}
		});
		
		kopierenCheckBox.addItemListener(new ItemListener() {
			public void itemStateChanged(ItemEvent e) {
				if (e.getStateChange() == ItemEvent.SELECTED && !copyField.getText().isEmpty()) {
					copyText();
				}
			}
		});
		
		panel.add(kopierenCheckBox);
		panel.add(copyField);
		frame.add(panel);
		frame.pack();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setLocationRelativeTo(null);
		frame.setVisible(true);
	}
	
	private void copyText(){
		 Clipboard zwischenablage = Toolkit.getDefaultToolkit().getSystemClipboard(); 
         StringSelection stringselection = new StringSelection(copyField.getText());
         zwischenablage.setContents(stringselection, null);
	}

	/**
	 * Hello Snippet
	 * 
	 */
	public static void main(String[] args) throws Exception {
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				new App();
			}
		});
	}
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C JTable - Checkbox, Icon, was auch immer. Java Basics - Anfänger-Themen 8
M Checkbox abfragen und Radiobutton Group zurücksetzen Java Basics - Anfänger-Themen 1
O checkbox Java Basics - Anfänger-Themen 5
W Befüllung einer Tabelle mit Checkbox, Trennung GUI und Model Java Basics - Anfänger-Themen 5
J ItemStateChanged() bei einer Checkbox Java Basics - Anfänger-Themen 2
H Text durch Checkbox erscheinen lassen Java Basics - Anfänger-Themen 2
P Probleme mit checkBox.isSelected Java Basics - Anfänger-Themen 4
R Speichern von Checkbox einträgen Java Basics - Anfänger-Themen 12
C ActionEvent mit CheckBox (true und false) Java Basics - Anfänger-Themen 6
M Checkbox Java Basics - Anfänger-Themen 11
D Erste Schritte JList + Checkbox Java Basics - Anfänger-Themen 5
D Variablen Checkbox Änderung in 2. Klasse aktuallisieren Java Basics - Anfänger-Themen 3
J checkbox status abfragen und drucken Java Basics - Anfänger-Themen 13
R JTabel + HashMap + Checkbox Java Basics - Anfänger-Themen 4
S NullPointerException beim Checkbox-Label-Array mit nextLine() Java Basics - Anfänger-Themen 6
J Checkbox oder RadioButtons Java Basics - Anfänger-Themen 11
H Checkbox mit Werten hinterlegen Java Basics - Anfänger-Themen 4
H JRadioButton steuert Checkbox Java Basics - Anfänger-Themen 5
0 TicTacToe, Problem mit den Checkbox-Aktionen Java Basics - Anfänger-Themen 6
jnoob Checkbox in Dialog Dynamisch erstellen Java Basics - Anfänger-Themen 2
K CheckBox aus anderer Klasse Java Basics - Anfänger-Themen 3
D jeditorpane checkbox abfragen? Java Basics - Anfänger-Themen 7
C Checkbox will nicht? Java Basics - Anfänger-Themen 7
T JTable mit Checkbox Java Basics - Anfänger-Themen 9
K Wieso schaltet meine CheckBox von selbst um ? Java Basics - Anfänger-Themen 31
T Checkbox in jtable: boolean wert direkt setzen - wie? Java Basics - Anfänger-Themen 1
1 Checkbox nach klick ausblenden Java Basics - Anfänger-Themen 4
G Checkbox Java Basics - Anfänger-Themen 11
F Muss ich TableCellEditor implementieren für checkbox abfrage Java Basics - Anfänger-Themen 3
G Checkbox Status Bit in einem Byte sichern Java Basics - Anfänger-Themen 5
B checkbox . ausgewählt? Java Basics - Anfänger-Themen 5
J Kleines Problem mit Checkbox Java Basics - Anfänger-Themen 5
B Checkbox abfragen Java Basics - Anfänger-Themen 6
D Checkbox in JTable(Spalte) einfügen. Java Basics - Anfänger-Themen 2
C JTable: Farbe und Checkbox Java Basics - Anfänger-Themen 3
M Checkbox Array Java Basics - Anfänger-Themen 11
J Wie ordne ich Swing-Elementen (checkbox, button, etc.)? Java Basics - Anfänger-Themen 2
M Checkbox in 2 Columns Java Basics - Anfänger-Themen 8
G Problem mit Checkbox Java Basics - Anfänger-Themen 2
G Frage zur Checkbox Java Basics - Anfänger-Themen 8
C JSP, HTML checkbox in Java Abfrage Java Basics - Anfänger-Themen 3
krgewb Immer dieselbe Zufallszahl Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
F Warum muss ich ein SSL cert immer manuell hinzufügen? Java Basics - Anfänger-Themen 46
M Queue-Datenstruktur: nach dem Elementen entfernen, das Ergebnis ist immer noch nicht optimal. Java Basics - Anfänger-Themen 3
K Warum werden immer noch doppelte Zahlen ausgegeben ? Java Basics - Anfänger-Themen 13
J Componente immer in Front halten, wie? Java Basics - Anfänger-Themen 5
berserkerdq2 Brauche ich while != -1, wenn ich immer einen BufferedReader verwende? Java Basics - Anfänger-Themen 8
berserkerdq2 Habe ein Spiel entwickelt, dass immer in der 4 Runde einen cast-Fehler erhält Java Basics - Anfänger-Themen 3
berserkerdq2 Spiel hängt sich immer in der 4 Runde auf, obwohl ich jede Runde das gleiche mache Java Basics - Anfänger-Themen 1
berserkerdq2 An selbst ersteller txt Datei immer Text dranhängen, ohne den vorherign Text zu löschen Java Basics - Anfänger-Themen 8
K In andere Zahlensysteme umwandeln, wann klappt immer der Trick mit log? Java Basics - Anfänger-Themen 6
F Wieso wird immer die falsche Mausposition angegeben? Java Basics - Anfänger-Themen 1
D Codeblöcke, die immer wieder im Programmverlauf benötigt werden Java Basics - Anfänger-Themen 5
chocobear26 Interface JOptionPane - Dialog_Fenster zeigt immer vorherige Eingabe an. Java Basics - Anfänger-Themen 4
C Objekt1.equals(Objekt2) = immer false. Wieso? Java Basics - Anfänger-Themen 22
I Array übernimmt immer den letzten Input. Java Basics - Anfänger-Themen 14
tom.j85 Doppelte Foreach Schleife: Am Ende wird immer das Gleiche Objekt eingefügt Java Basics - Anfänger-Themen 4
M Untersuchen ob ein Graph nach entfernen einer Kante immer noch zusammenhängend ist Java Basics - Anfänger-Themen 70
J Zweck von Interfaces immer noch nicht klar Java Basics - Anfänger-Themen 3
M Array immer wieder um ein Element erweitern Java Basics - Anfänger-Themen 6
CptK Methoden Event bei gedrückter Maustaste immer wieder ausführen Java Basics - Anfänger-Themen 1
CptK Klassen Event bei gedrückter Maus immer wieder mit Pause ausführen Java Basics - Anfänger-Themen 2
IMain23 2d Array variabler Spaltenwert, Spaltenwert immer um eins erhöhen Java Basics - Anfänger-Themen 3
M JTextField blitzt immer wieder nur auf Java Basics - Anfänger-Themen 12
N Arbeitsspeicher nach kompilieren immer voller Java Basics - Anfänger-Themen 6
S Immer das selbe mit den Schleifen Java Basics - Anfänger-Themen 24
H OOP eine Zahl immer weiter durch 2 teilen Java Basics - Anfänger-Themen 15
B Operatoren Java berechnet immer 0? Java Basics - Anfänger-Themen 3
J Timer bauen, Main Methode immer wieder neu starten Java Basics - Anfänger-Themen 13
N Funktion funktioniert nicht immer Java Basics - Anfänger-Themen 6
I Methoden Schleife immer wieder durchlaufen lassen Java Basics - Anfänger-Themen 15
3 JFrame immer im Hintergrund Java Basics - Anfänger-Themen 1
F Immer wieder gleiche Zufallszahl? Java Basics - Anfänger-Themen 4
J Operatoren Random wird nur einmal erstellt und dann immer verwendet Java Basics - Anfänger-Themen 2
S Repaint() in der Schleife funktioniert nicht immer Java Basics - Anfänger-Themen 5
S Variable in JTextField soll immer um 5 zunehmen Java Basics - Anfänger-Themen 8
schoenosrockos JButton füllt immer das ganze frame Java Basics - Anfänger-Themen 1
N JList + DefaultListModel + JScrollPane --> ensureIndexIsVisible funktioniert nicht immer Java Basics - Anfänger-Themen 1
N Immer Aktiv sein. Java Basics - Anfänger-Themen 8
D Array wird immer mir 100 für jeden Wert initialisiert? Java Basics - Anfänger-Themen 2
J Ergebnis immer 0 Java Basics - Anfänger-Themen 8
S If-Anweisunng ist IMMER true Java Basics - Anfänger-Themen 2
F Inhalt einer Variable auswerten, die sich immer wieder ändert Java Basics - Anfänger-Themen 1
S UserPref und Java Application klappt immer nicht. Java Basics - Anfänger-Themen 2
Ponychan95 Erste Schritte Switch fällt immer bis zum default durch Java Basics - Anfänger-Themen 4
F String immer weiter nach Bedarf vergrößern Java Basics - Anfänger-Themen 3
X Muss man das immer so schreiben o.O Java Basics - Anfänger-Themen 3
F Timer beendet nicht immer Java Basics - Anfänger-Themen 2
N Boolean Werte - immer "false" Java Basics - Anfänger-Themen 5
P JavaFX Textfelder geben immer null zurück Java Basics - Anfänger-Themen 8
M zufälliges Setzen von Schiffen in while klappt nicht immer Java Basics - Anfänger-Themen 3
S Random IDs immer 10-stellig? Wie? Java Basics - Anfänger-Themen 5
B Klassen Objekte werden immer überschrieben Java Basics - Anfänger-Themen 10
T Muss ein Parametertest immer eine eigene Testklasse sein? Java Basics - Anfänger-Themen 3
C JavaMail funktioniert nicht immer Java Basics - Anfänger-Themen 8
J .txt Datei "einlesen "und in String speichern ergibt immer NULL Java Basics - Anfänger-Themen 17
M Noch immer Probleme mit exec Java Basics - Anfänger-Themen 15
A Java Arrays immer um eins "vergrößern" Java Basics - Anfänger-Themen 4
E Input/Output Drucken am Mac immer gleiche Schriftgröße?!? Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben