Skip to content
Snippets Groups Projects

ChkBoxGridPane neue Klasse zum erzeugen eines GridPane, welches mit Checkboxen gefüllt ist.

Merged Dennis Eisold requested to merge PaoloPinkel/enigma:master into master
1 file
+ 74
0
Compare changes
  • Side-by-side
  • Inline
package projekt.enigma.view;
import javafx.scene.control.CheckBox;
import javafx.scene.control.ContentDisplay;
import javafx.scene.control.Label;
import javafx.scene.layout.GridPane;
public class ChkBoxGridPane extends GridPane {
/*private static JPanel panel = new JPanel();*/
private static CheckBox[] checkbox;
private static Character[] alphabet;/* = {'A','B','C','D'};*/
private static int charSize;
public ChkBoxGridPane(Character[] alphabet) {
this.charSize = alphabet.length;
this.alphabet = alphabet;
initializeComponents();
}
/**
* Es wird ein GridPane erzeugt, das zwei Spalten und abhängig von der Länge des
* Arrays (Character[] alphabet) Reihen hat. Das Label der CheckBoxen soll
* abhängig von deren Index links bzw. recht erzeugt werden
*/
private void initializeComponents() {
this.checkbox = new CheckBox[charSize];
/* => bei ungerader Anzahl Buchstaben
*CheckBox und deren Label erzeugen, bei geraden Index Zahlen
* das Label rechts setzen bei ungeraden links
*/
if (!(charSize % 2 == 0)) {
for (int i = 0; i < charSize; i++) {
Label lb = new Label(alphabet[i] + "");
lb.setGraphic(checkbox[i] = new CheckBox());
if(i%2==0)lb.setContentDisplay(ContentDisplay.RIGHT);
else if(!(i%2==0)) lb.setContentDisplay(ContentDisplay.LEFT);
this.add(checkbox[i],2,(charSize + 1) / 2);
//if (i==0)checkbox[0].setSelected(true);
}
}
/* => bei gerader Anzahl Buchstaben
*CheckBox und deren Label erzeugen, bei geraden Index Zahlen
* das Label rechts setzen bei ungeraden links
*/
else {
for (int i = 0; i < charSize; i++) {
Label lb = new Label(alphabet[i] + "");
lb.setGraphic(checkbox[i] = new CheckBox());
if(i%2==0)lb.setContentDisplay(ContentDisplay.RIGHT);
else if(!(i%2==0)) lb.setContentDisplay(ContentDisplay.LEFT);
this.add(checkbox[i],2,(charSize / 2));
}
}
this.setVisible(true);
}
/**
* Prüft welche CheckBox aus gewählt und gibt deren
* Index zurück
* @return
*/
private Integer isCheckedChkBoxIndex() {
for (int i = 0; i < charSize; i++) {
if (checkbox[i].isSelected()) {
return i;
} else {
return null;
}
}
return null;
}
}
Loading