Skip to content
Snippets Groups Projects
Commit 98196f17 authored by Dennis Eisold's avatar Dennis Eisold
Browse files

Merge branch 'master' into 'master'

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

See merge request alfatrainingkurse/java/enigma!132
parents f7c992bc 6c522f9c
No related branches found
No related tags found
Loading
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;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment