Bestimmte Zahlen färben...

Cashmoney

Grünschnabel
hallo an alle...

ich habe hier ein Fenster der durch einem Startknopf nach der Reihe die Zahlen ausgibt. läuft auch alles wunderbar nun habe ich ein problem und nach einer erfolgslosen suche habe ich leider nichts passendes gefunden wie ich das umsetzen kann und zwar
Will ich bei der ausgabe von den Zahlen die primzahlen automatisch in einer bestimmten Farbe färben(z.B. Red)..

Die Primzahlen habe ich auch separat programmiert nur ich bekomme die gemeinsam nicht zum laufen

suche schon seit Tagen nach einer Lösung nur leider nichts gefunden oder irgendwas was mir weiterhilft ..

wäre euch sehr Dankbar wenn ihr mir helfen würdet...

hier der 1 code:

Code:
	public static void main(String[] args) {

		new Gridtest();
	}

	public void actionPerformed(ActionEvent e) {

		((JButton) e.getSource()).setEnabled(false);

		System.out.println("Action Performed");
		Thread t = new Thread() {
			public void run() {

			
				int limit = 26;
		
	//   HIER SOLL ES GESCEHEN MIT DER PRIM AUSGABE 
	// HIER HABE ICH WAS MIT ARRAY AUSPROBIERT NUR ZUR  TESTZWECKE		
				
				int[] primes ={ 3 }; 


				for (int i = 2; i <= limit; i++)

				{
					System.out.println(+i);
					JPanel numbr = new JPanel();
					JLabel nr = new JLabel("" + i);
					nr.setHorizontalAlignment(SwingConstants.CENTER);

				
					if ( primes[0]== i)
					{
						nr.setForeground(Color.ORANGE);
					}

							
			
					
					
					
					zahlen.add(nr);
					zahlen.validate();
					try {
						Thread.sleep(350);
					} catch (InterruptedException ie) {
						System.out.println("");

					}

				}
			}
		};
		t.start();
	}

}




Bin noch neu im Bereich Java .... Es würde mir extrem weiterhelfen wenn Ihr mir genau sagt wie man das anstellt.. Bin seit Tagen am durhcstöbern und komme einfach nicht weiter ...
 
Zuletzt bearbeitet:
Wo sollen die Zahlen den ausgegeben werden? Auf der Console oder in einem Label oder Ähnlichem.
Ich bin zwar kein Java Profi, aber soweit ich weiß kann man die Ausgaben auf der Konsole nicht farbig machen(falls ich Quatsch erzähle verbessert mich^^).


Edit: öhm sry...den ersten Code, hat er mir nur die Hälfte geladen und angezeigt.....also doch im Frame und nicht Konsole...sry
 
Zuletzt bearbeitet:
Die zahlen gibt er ja soweit aus! Er soll halt bei der Ausgabe der Zahlen (in dem Fall 2- 26) nur die Primzahlen färben (sprich 2,3,5,7 etc..) Ich weis nur nicht wie ich das umsetzen soll (primberechnung habe ich auch Separat codiert wie mans oben sehen kann) ... hab vieles ausprobiert nur kein Erfolg =(
 
Den Teil aus der Gridtest Klasse:
Code:
/   
HIER SOLL ES GESCEHEN MIT DER PRIM AUSGABE 
	// HIER HABE ICH WAS MIT ARRAY AUSPROBIERT NUR ZUR  TESTZWECKE		
				
				int[] primes ={ 3 }; 


				for (int i = 2; i <= limit; i++)

				{
					System.out.println(+i);
					JPanel numbr = new JPanel();
					JLabel nr = new JLabel("" + i);
					nr.setHorizontalAlignment(SwingConstants.CENTER);

				
					if ( primes[0]== i)
					{
						nr.setForeground(Color.ORANGE);
					}

wurde ich wie folgt abändern:

Code:
//   HIER SOLL ES GESCEHEN MIT DER PRIM AUSGABE 
	// HIER HABE ICH WAS MIT ARRAY AUSPROBIERT NUR ZUR  TESTZWECKE		
				



				for (int i = 2; i <= limit; i++)

				{
					System.out.println(+i);

					JLabel nr = new JLabel("" + i);
					nr.setHorizontalAlignment(SwingConstants.CENTER);

				
					if ( Primz.istPrimzahl(i))
					{
						nr.setForeground(Color.ORANGE);
					}

Ohne Viel an deinem Code zu ändern würde ich das so machen. Ich habe die If Bedingung geändert, sowie zwei zeilen entfernt, die ich für überflüssig hielt ^^
Hoffe das hiflt. Kannst ja mal posten, obs geklappt hat oder nicht XD
 
Du köntest die Primzahlen in eine JList oder sogar in einem JTable ausgeben lassen. Dann müstest Du es mit der Implementierung eines entsprechenden Renderes die gewünschten Zahlen farbig darstellen.
 
Es klappt tatsächlich.... oh man durch so eine kleine Änderung.... Ich danke dir....

noch eine kurze Frage was muss ich genau codieren so das er die primzahlen erst nach der aufzählung der normalen zahlen die Primzahlen färbt..
Er soll normal nach der Reihe ausgeben und dann die prims färben...momentan tut er beides ausgeben, nur er soll nach der ganz normalen ausgabe(2-26) erst dann die prims färben..
hat es was mit sleeper zu tun :/ ?.....
 
Zuletzt bearbeitet:
Also er soll 1-26 ausgeben und dann mit einem Schlag alles rot färben was ne Primzahl ist?

Edit: hast grad deinen beitrag geändert.. lol.

der sleeper den du grade drin hast der gibt nur den zeitlichen abstand zwischen deinen Zahlen an. hat direkt nix mit den Primzahlen zu tun
 
Zuletzt bearbeitet:
Zurück