Checkbox in 2 Columns

Status
Nicht offen für weitere Antworten.

McSnoop

Bekanntes Mitglied
wie kann ich der JTable sagen wenn auf die eine der beiden Checkboxen true ist soll die entsprechende andere in der Row gedisabled werden und wenn die erste wieder auf false gesetzt wird soll das disabled wieder aufgehoben werden. Das gleiche Spielchen anders herum.

Wenn ich dies machen will muss das doch bei setValueAt in Table model oder??

Code:
case 0:
     data[row][col] = [Boolean]aValue;        
     fireTableCellUpdated(row,col);
     break;

case 1:
     data[row][col] = [Boolean]aValue;        
     fireTableCellUpdated(row,col);
     break;

wenn ich ihm sage das col+1 false ist dann schreibt er nur kann nicht von Object nach boolean casten.

Code:
case 0:
     data[row][col] = [Boolean]aValue;        
     data[row][col+1] = false;
     fireTableCellUpdated(row,col);
     break;
 

Snape

Bekanntes Mitglied
Checke, ob aValue vom Typ Boolean ist und dann hol Dir den gewünschten Wert mit

((Boolean)aValue).booleanValue()

Achte darauf, dass eckige Klammern nur bei Arrays zu verwenden sind.
 

McSnoop

Bekanntes Mitglied
bei

case 0
case 1

gibt es nur boolean werte

wenn ich jetzt aber schreibe
Code:
if(data[row][col]==true){
 
}

dann bringt er das die typen inkompatibel sind.

das gleiche wenn ich

(Boolean)aValue == true

vergleichen will

oder muss ich da equals für nehmen??
 

Snape

Bekanntes Mitglied
McSnoop hat gesagt.:
bei

case 0
case 1

gibt es nur boolean werte

wenn ich jetzt aber schreibe
Code:
if(data[row][col]==true){
 
}

dann bringt er das die typen inkompatibel sind.

Dann ist das, was in Deinem Array data[][] steckt, kein boolean-Array. Anhand des bisherigen Codes kann ich nicht erkennen, was in dem data-Array steckt. Wenn es sich dabei um ein Object-Array handelt, dann kann der Vergleich Object == boolean natürlich nicht funktionieren.

das gleiche wenn ich

(Boolean)aValue == true

vergleichen will

oder muss ich da equals für nehmen??

Nein. Ich vermute - das geht wieder nicht aus dem geposteten Code hervor - dass aValue ein Object ist. D.h. wie oben vergleichst Du Object == boolean, und das geht natürlich nicht.
Probier mal

Code:
if (aValue instanceof Boolean)
{
  boolean myBoolean = ((Boolean)aValue).booleanValue();
}

Ein Vergleich sähe dann so aus:
Code:
if (aValue instanceof Boolean)
{
  if ( ((Boolean)aValue).booleanValue() == true )
  {
   // mach was
  }
}
 
B

Beni

Gast
<klugscheissmodus = ein>
Anstelle von
Code:
if( eineVariable == true ){...}
kann man auch
Code:
if( eineVariable ){...}
schreiben :wink:
<klugscheissmodus = aus>
 

McSnoop

Bekanntes Mitglied
Snape hat gesagt.:
McSnoop hat gesagt.:
bei

case 0
case 1

gibt es nur boolean werte

wenn ich jetzt aber schreibe
Code:
if(data[row][col]==true){
 
}

dann bringt er das die typen inkompatibel sind.
Code:
Ein Vergleich sähe dann so aus:
[code]
if (aValue instanceof Boolean)
{
  if ( ((Boolean)aValue).booleanValue() == true )
  {
   // mach was
  }
}

das Array besteht aus Objecten, je nachdem welcher case fall (jeweils andere Spalte), sind die Objecte Boolean, Integer, String oder Double.

wenn ich jetzt

Code:
if (aValue instanceof Boolean)
{
  if ( ((Boolean)aValue).booleanValue() == true )
  {
   // mach was
  }
}

mach dann kann ich die werte vergleichen, gut dann hab ich mir gedacht

Code:
  aValue=true;
  data[row][col] = (Boolean)aValue;  // Fall wenn in der ersten Spalte true dann soll 2te spalte false


das Problem ist das er aValue nicht true setzen kann ,weil es Object und Bool sind, also typenunkompatibel

Warum kann er nicht alleine Casten?? Die Objecte umfassen doch alle Typen oder nicht??

und warum wenn data[row][col] ein feld aus Objecten ist, muss er aValue , das auch ein Object ist, mit Boolean casten??

Code:
  data[row][col] = (Boolean)aValue;
 

Snape

Bekanntes Mitglied
McSnoop hat gesagt.:
das Array besteht aus Objecten, je nachdem welcher case fall (jeweils andere Spalte), sind die Objecte Boolean, Integer, String oder Double.

wenn ich jetzt

Code:
if (aValue instanceof Boolean)
{
  if ( ((Boolean)aValue).booleanValue() == true )
  {
   // mach was
  }
}

mach dann kann ich die werte vergleichen, gut dann hab ich mir gedacht

Code:
  aValue=true;
  data[row][col] = (Boolean)aValue;  // Fall wenn in der ersten Spalte true dann soll 2te spalte false


das Problem ist das er aValue nicht true setzen kann ,weil es Object und Bool sind, also typenunkompatibel

Halb richtig. Das eine ist zwar Object, das andere aber boolean, nicht Bool(ean).

Warum kann er nicht alleine Casten?? Die Objecte umfassen doch alle Typen oder nicht??

Prinzipiell ja, aber "true" ist kein Typ Object, sondern ein primitiver Typ. Und "alleine" casten, wie soll das gehen? Woher soll "er" wissen, auf welchen Typ er casten soll bzw. ob das nötig, gewünscht und auch typsicher ist?

und warum wenn data[row][col] ein feld aus Objecten ist, muss er aValue , das auch ein Object ist, mit Boolean casten??

Code:
  data[row][col] = (Boolean)aValue;

So geht das nicht. Wenn schon, dann so:
Code:
  data[row][col] = new Boolean(true); // oder alternativ new Boolean(false)

Casten ist, einen Typ auf einen anderen "umwandeln". Das geht nicht immer, vor allem nicht bei Objekten. Bei der Zuweisung eines primitiven Datentyps auf ein Object ist die Verwendung eines Wrappers notwendig. Am besten Du liest Dir die entsprechenden Kapitel in der Java-Insel oder im Java-Handbuch intensiv durch.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
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
Os-Programming Checkbox immer wieder überprüfen Java Basics - Anfänger-Themen 13
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 - Checkbox, Icon, was auch immer. Java Basics - Anfänger-Themen 8
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
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
G leere columns "verstecken" Java Basics - Anfänger-Themen 5

Ähnliche Java Themen


Oben