Skip to content
Snippets Groups Projects
Commit 6c522f9c authored by Uli Bähr's avatar Uli Bähr
Browse files

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

parent 78f81225
No related branches found
No related tags found
1 merge request!132ChkBoxGridPane neue Klasse zum erzeugen eines GridPane, welches mit Checkboxen gefüllt ist.
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