konstante eigene farben im programm definieren

Status
Nicht offen für weitere Antworten.

Dilandau

Aktives Mitglied
Ich versuche ein array aus konstanten Color objekten mit eigenen farbwerten am Programmanfang als statisch zu definieren.

So (die drei zahlen sollen die werte fpr rot, grün und blau sein und das array bekommt erstmal nur ein objekt, später mehr):

Code:
private final static Color[] colors = {(Color){175,186,140}};

Natürlich meldet javac einen fehler. Wie schreibt man das?


Alternativ soll für manche spätere elemente das #abcdef format eingesetzt werden. Wie schreibt man das in java?
 

Illuvatar

Top Contributor
Code:
private final static Color[] colors = {new Color (175, 186, 140), new Color (0, 0, 0); usw...};

Wenn du ein Array final machst, können die einzelnen Elemente trotzdem noch verändert werden.

d.h.:

Code:
colors = new Color[5];
->Compilerfehler.

Code:
colors[0] = new Color (1, 2, 3);
->Funktioniert.
 
B

Beni

Gast
Code:
private final static Color[] colors = { new Color(175, 186, 140), new Color( 255, 0, 0 ) };

Edit: verdammt, schon wieder zu spät
 

lhein

Top Contributor
Wenn du ein Array final machst, können die einzelnen Elemente trotzdem noch verändert werden

Nanu, seit wann das denn? Ich dachte immer, das final eine Konstante bezeichnet, die im weiteren Programmverlauf nicht mehr änderbar ist ?!?

Bin ich jetzt seit Jahren auf dem Holzweg oder hast Du Dich da vertan?

LR
 
B

Beni

Gast
Eine Variable die mit final bezeichnet wurde, kann man nicht mehr vertauschen. Aber dem ändern einzelner Einträge des Arrays veränderst du diese Variable ja nicht. (anders gesagt: final hat keinen Einfluss auf den inneren Aufbau eines Objektes, Einträge ändern gehört zu innerem Aufbau).

Hab ich jedenfalls so verstanden...

mfg Beni
 

lhein

Top Contributor
Aha, das wusste ich bisher nicht.
Werds bei Gelegenheit mal ausprobieren.

Danke
LR
 

Dilandau

Aktives Mitglied
Was bezeichnest du mit "vertauschen"? Mir erscheint logisch, einen Wert, für den der Platz der selbe bleibt, im Ram stehend nachträglich jederzeit ändern kann, wenn man ihn nicht von der Speicherverwaltung o.ä. schützen lässt.
 
B

bygones

Gast
Ist eine Variable als final deklariert, so kann man dieser Variable kein neues Objekt zu weisen !

Man kann aber dennoch das Objekt der Variable ändern. Das final bezieht sich somit nur auf die Variable die auf das Objek zeigt und nicht auf das Objekt an sich... (hoffe das war richtig und verständlich)

Code:
public class Tester {
 public static void main(String[] args) {
   final Dummy d = new Dummy(4);
    // geht
   d.i = 5;
   
   // geht nicht (<---- das meinte Beni mit vertauschen)
   d = new Dummy(5);
   }
  }

class Dummy {
  public int i;

  public Dummy(int i) { 
    this.i = i;
  }
}
 
B

Beni

Gast
Eine Variable zeigt irgendwohin (ist ja nur ein Verweis, eine Referenz). Wenn man sie dazu bringt, woanders hinzuzeigen, hat man (das Ziel) vertauscht.
Code:
Object x = ...
x = blup; // hier wird x "vertauscht"
War ein wenig missverständlich, sorry...

mfg Beni
 

citizen_erased

Bekanntes Mitglied
erleichternd wäre auf die unterteilung zwischen "primitiven" und referenztypen hinzuweisen.
durch final kann der wert einer variablen nicht veränder werden. der wert einer variable vom typ int ist 5 und kann bei einer final deklarierten variablen nicht mehr verändert werden.
der wert eines variablen vom typ String ist eine referenz auf den ziel wert und kann nicht mehr verändert werden. der zielwert hingegen (z.b. "Tach!") kann jedoch noch verändert werden.
nur referenztypen verfügen neben dem wert auch noch über einen zielwert.

[edit] na toll, warum schreib ich das denn, wenn ihr das sowieso kurz vorher postet ;)[/edit]
 

Dilandau

Aktives Mitglied
Ah jetzt ja. :D

Aber was nutzt das? Um die varibale bei mehreren applets der selben klasse nur EINMAL im speicher zu haben, gibt's static.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
mihe7 Konstante in Java Java Basics - Anfänger-Themen 58
I Wo am besten eine String Konstante initialisieren? Java Basics - Anfänger-Themen 5
H Führende Nullen in Abhängigkeit von der Stellenanzahl einer Konstante Java Basics - Anfänger-Themen 4
X Konstante hinzufügen Java Basics - Anfänger-Themen 3
F konstante/variable Attribute? Java Basics - Anfänger-Themen 3
C Datentypen Array-Konstante Java Basics - Anfänger-Themen 4
T Variablen und Konstante ausserhalb des Programmcodes Java Basics - Anfänger-Themen 2
T ist enum.ordinal keine Konstante? Java Basics - Anfänger-Themen 7
P Value einer Konstante lesen Java Basics - Anfänger-Themen 2
E Konstante überschreiben Java Basics - Anfänger-Themen 6
-horn- Natur- & andere Konstante überall zugreifbar? Java Basics - Anfänger-Themen 10
E Frage zu Konstante Java Basics - Anfänger-Themen 10
D Konstante deklariert wie Methode übergebe? Java Basics - Anfänger-Themen 5
S String Konstante kann nicht fuer Annotation verwendet werden Java Basics - Anfänger-Themen 2
G Konstante im Konstruktur initialisieren Java Basics - Anfänger-Themen 8
A Konstante garnicht konstant? Java Basics - Anfänger-Themen 3
L String konstante Länge? Java Basics - Anfänger-Themen 4
G JFrame - Konstante größe? Java Basics - Anfänger-Themen 5
J Konstante von Klasse zu Klasse übergeben? Java Basics - Anfänger-Themen 6
A Konstante/Klassenkonstante Java Basics - Anfänger-Themen 1
Amina556 Eigene Klasse definieren Java Basics - Anfänger-Themen 9
T Eigene Exception - ohne werfen abfangen Java Basics - Anfänger-Themen 2
T Datentypen Eigene Datentypen Java Basics - Anfänger-Themen 15
low_in_the_head Eigene Exception nutzen Java Basics - Anfänger-Themen 4
C Archiv für eigene Klassen Java Basics - Anfänger-Themen 9
L Meine erste eigene Exception Klasse Java Basics - Anfänger-Themen 10
D Attribut Telefonnummer - eigene Klasse oder String Java Basics - Anfänger-Themen 13
B JUnit 4: Wie man die eigene Liste testen kann [TDD] Java Basics - Anfänger-Themen 46
C eigene Methoden erstellen (Instanzmethoden) Java Basics - Anfänger-Themen 7
S Eigene LinkedList Klasse Java Basics - Anfänger-Themen 4
I Eigene Java Tools Nutzung Java Basics - Anfänger-Themen 6
G eigene Bibliothek einbinden Java Basics - Anfänger-Themen 1
K Eigene Annotations, Pre-/Post-/Call-Method Java Basics - Anfänger-Themen 6
O Erste Schritte Eigene charAt(i) Methode schreiben Java Basics - Anfänger-Themen 10
D Methoden Eigene Methode um alle Ausgaben aufzurufen Java Basics - Anfänger-Themen 17
L Eigene Exception schreiben bei zu langem Array Java Basics - Anfänger-Themen 10
P Maven und eigene Jars Java Basics - Anfänger-Themen 4
J Algorithmus - Strings auf eigene Reihenfolge miteinander vergleichen Java Basics - Anfänger-Themen 4
R Interface Eigene Objekte in Listen sortieren mit Interface Comparable Java Basics - Anfänger-Themen 5
A Eigene Methoden entwicken Java Basics - Anfänger-Themen 3
F Klassen Eigene Exception Bedingungen festlegen Java Basics - Anfänger-Themen 2
H GSON-Bibliothek für eigene Programme benutzen Java Basics - Anfänger-Themen 2
H Klassen auf eigene Klasse zugreifen Java Basics - Anfänger-Themen 2
N Eclipse - eigene Icons unter ClassPath Resource Java Basics - Anfänger-Themen 0
N Eigene Stream Methoden implementieren Java Basics - Anfänger-Themen 3
R eigene Graphikbedienelemente Java Basics - Anfänger-Themen 8
V Generics / eigene Liste Java Basics - Anfänger-Themen 4
T Eigene Bedingung in IF-Bedingung Java Basics - Anfänger-Themen 22
P Java 8 & Eigene Applets Java Basics - Anfänger-Themen 3
E Best Practice Exaktes Rechnen mit (Pseudo-)Rationalen/Realen Zahlen. Operations Zuweisung für (eigene) Klassen Java Basics - Anfänger-Themen 3
G eigene Bibliothek in Java importieren Java Basics - Anfänger-Themen 5
D Klassen Eigene Klasse für ArrayList Java Basics - Anfänger-Themen 6
M Wann eigene implementierte HashCode Methode zwingend erforderlich? Java Basics - Anfänger-Themen 1
B Klassen Eigene "non static" Klasse in Main verwenden! Java Basics - Anfänger-Themen 12
P Vererbung Eigene HashMap Variante Java Basics - Anfänger-Themen 2
J Eigene Klasse für die Variablen? Java Basics - Anfänger-Themen 3
P Eigene Knöpfe mit eigenem Listener Java Basics - Anfänger-Themen 5
S Wann existiert eine Instanz (eigene Klasse) Java Basics - Anfänger-Themen 8
T Muss ein Parametertest immer eine eigene Testklasse sein? Java Basics - Anfänger-Themen 3
B Multithreading und eigene Queue entwickeln Java Basics - Anfänger-Themen 3
O GUI: Eigene Fenster "Form"? Java Basics - Anfänger-Themen 13
F Eigene LinkedList - toString Java Basics - Anfänger-Themen 10
O Denkanstöße für eigene Konfigurations-Datei Java Basics - Anfänger-Themen 12
SexyPenny90 Wieso ist diese eigene Equals-Methode schlecht? Java Basics - Anfänger-Themen 17
C eigene Exception Java Basics - Anfänger-Themen 4
M externe JARs in die eigene JAR einbinden Java Basics - Anfänger-Themen 9
V Klassen import - einfaches Umleiten auf eigene Klassen? Java Basics - Anfänger-Themen 8
S Eigene Exception Klasse - fehlender Konstruktor mit String Java Basics - Anfänger-Themen 3
B eigene klasse in listen eintragen Java Basics - Anfänger-Themen 6
A Objekte in eigene Klasse auslagern Java Basics - Anfänger-Themen 2
S [JavaFX 2.1] - Eigene Sprachauswahl? Java Basics - Anfänger-Themen 4
K Klassen Eigene Exception verwenden Java Basics - Anfänger-Themen 9
J eigene packages bzw klassen verwenden Java Basics - Anfänger-Themen 25
E Eigene Stackklasse Java Basics - Anfänger-Themen 7
B Eigene Exceptions entwerfen Java Basics - Anfänger-Themen 3
S Eigene Exception Schreiben und Welche Auslösen wie ? Java Basics - Anfänger-Themen 7
P eigene kleine Datenverwaltung Java Basics - Anfänger-Themen 5
N Eigene Methoden-> Werte übergeben Java Basics - Anfänger-Themen 5
U Klassen Eigene Klassen importieren Java Basics - Anfänger-Themen 13
Kenan89 ActionListener in eigene Klasse Java Basics - Anfänger-Themen 8
E Object in eigene Klasse umwandeln? Java Basics - Anfänger-Themen 7
S Eigene Klassen addieren Java Basics - Anfänger-Themen 3
B OOP Eigene Objekte in Arrays zusammenfassen Java Basics - Anfänger-Themen 3
E Eigene class datum Java Basics - Anfänger-Themen 2
G Eigene MessageBox kreieren Java Basics - Anfänger-Themen 9
I Erste Schritte Eigene Fehlermeldungen bei Exceptions Java Basics - Anfänger-Themen 19
F Klassen Eigene Klasse definieren Java Basics - Anfänger-Themen 4
S Eigene KeyEvent-Mask erstellen Java Basics - Anfänger-Themen 4
X Eigene Libary Java Basics - Anfänger-Themen 2
Crashbreaker Eigene Java-Programm ohne hilfe des CMD starten Java Basics - Anfänger-Themen 11
A Klassen Eigene Datenklasse - Strings mit fixer Länge Java Basics - Anfänger-Themen 2
T eigene Exception Klasse Java Basics - Anfänger-Themen 12
G Shape um eigene Achse drehen Java Basics - Anfänger-Themen 2
P Vererbung Basisklasse soll eigene Methode benutzen Java Basics - Anfänger-Themen 38
F Eigene Klasse für die Keys von HashMap Java Basics - Anfänger-Themen 5
J Eigene kleine Datenbank programmieren Java Basics - Anfänger-Themen 2
G Eigene Klasse als Array, zugriff? Java Basics - Anfänger-Themen 2
xehpuk Ordner "Eigene Bilder" ansteuern Java Basics - Anfänger-Themen 3
V Sonderzeichen als eigene "Operatoren" im JTextField Java Basics - Anfänger-Themen 4
S Eigene Stack Klasse Java Basics - Anfänger-Themen 26

Ähnliche Java Themen

Neue Themen


Oben