下面列出了怎么用javafx.scene.control.Toggle的API类实例代码及写法,或者点击链接到github查看源代码。
void initEvent() {
// group.selectedToggleProperty().addListener((ObservableValue<? extends
// Toggle> observable, Toggle oldValue, Toggle selectedToggle) -> {
//
// if (selectedToggle instanceof ImageToggleButton) {
// Object ud = selectedToggle.getUserData();
// if (ud instanceof Node) {
// setSelectedNode((Node) ud);
// }
// } else if (oldValue != null) {
// group.selectToggle(oldValue);
// }
// });
group.selectedToggleProperty().addListener((ObservableValue<? extends Toggle> observable, Toggle oldValue, Toggle newValue) -> {
if (newValue == null) {
group.selectToggle(oldValue);
}
// System.out.println("group");
});
}
@Override
protected void initLineBreakTab() {
try {
super.initLineBreakTab();
lineBreakGroup.selectedToggleProperty().addListener(new ChangeListener<Toggle>() {
@Override
public void changed(ObservableValue<? extends Toggle> ov,
Toggle old_toggle, Toggle new_toggle) {
checkLineBreakGroup();
}
});
} catch (Exception e) {
logger.error(e.toString());
}
}
protected void checkControlsColor(Toggle s) {
try {
if (isSettingValues) {
return;
}
if (s == null || redRadio.equals(s)) {
ControlStyle.setConfigColorStyle("default");
} else if (pinkRadio.equals(s)) {
ControlStyle.setConfigColorStyle("pink");
} else if (lightBlueRadio.equals(s)) {
ControlStyle.setConfigColorStyle("lightblue");
} else if (blueRadio.equals(s)) {
ControlStyle.setConfigColorStyle("blue");
} else if (orangeRadio.equals(s)) {
ControlStyle.setConfigColorStyle("orange");
} else {
return;
}
refresh();
} catch (Exception e) {
logger.error(e.toString());
}
}
@Override
public void initTargetSection() {
super.initTargetSection();
fileTypeGroup.selectedToggleProperty().addListener(new ChangeListener<Toggle>() {
@Override
public void changed(ObservableValue<? extends Toggle> ov,
Toggle old_toggle, Toggle new_toggle) {
checkFileType();
}
});
checkFileType();
if (pcxRadio != null) {
FxmlControl.setTooltip(pcxRadio, new Tooltip(message("PcxComments")));
}
browseButton.setDisable(true);
}
@Override
public void initControls() {
try {
super.initControls();
myPane = enhancementPane;
enhancementGroup.selectedToggleProperty().addListener(new ChangeListener<Toggle>() {
@Override
public void changed(ObservableValue ov, Toggle oldValue, Toggle newValue) {
checkEnhanceType();
}
});
manageView = new ImageView();
} catch (Exception e) {
logger.error(e.toString());
}
}
public void initScopeBox() {
try {
typeGroup.selectedToggleProperty().addListener(new ChangeListener<Toggle>() {
@Override
public void changed(ObservableValue ov, Toggle oldValue, Toggle newValue) {
if (isSettingValues) {
return;
}
checkScopeType(true);
}
});
} catch (Exception e) {
logger.error(e.toString());
}
}
public void initOptions() {
if (algorithmGroup != null) {
algorithmGroup.selectedToggleProperty().addListener(new ChangeListener<Toggle>() {
@Override
public void changed(ObservableValue<? extends Toggle> ov,
Toggle old_toggle, Toggle new_toggle) {
checkAlgorithm();
}
});
checkAlgorithm();
}
if (scaleInput != null) {
scaleInput.textProperty().addListener(new ChangeListener<String>() {
@Override
public void changed(ObservableValue<? extends String> observable,
String oldValue, String newValue) {
checkScale();
}
});
int p = AppVariables.getUserConfigInt("MatrixDecimalScale", 8);
scaleInput.setText(p + "");
}
}
/** @return {@link OpenDisplayActionInfo} from sub pane */
private OpenDisplayActionInfo getOpenDisplayAction()
{
Target target = Target.REPLACE;
List<Toggle> modes = open_display_targets.getToggles();
for (int i=0; i<modes.size(); ++i)
if (modes.get(i).isSelected())
{
target = Target.values()[i];
break;
}
return new OpenDisplayActionInfo(open_display_description.getText(),
open_display_path.getText().trim(),
open_display_macros.getMacros(),
target,
open_display_pane.getText().trim());
}
private SecretValue getSecretValue(ToggleGroup valueSource, String value, String generated, File file) {
Toggle current = valueSource.getSelectedToggle();
String secretString;
if (current.getUserData().equals("value")) {
secretString = value;
} else if (current.getUserData().equals("generated")) {
Integer numBytesToGenerate = Integer.valueOf(generated);
// TODO: store as plain bytes?
byte[] random = Singleton.randomGenerator.generateRandom(numBytesToGenerate);
secretString = Base64.encodeAsString(random);
} else {
String path = null;
try {
path = file.getCanonicalPath();
return SecretValueConverter.inferEncoding(Files.readAllBytes(Paths.get(path)), SecretType.OPAQUE);
} catch (IOException e) {
throw new RuntimeException("Failed to read secret from file");
}
}
return new SecretValue(secretString, SecretType.OPAQUE);
}
public TemplateField(String name, String label, boolean isSelected, String constant) {
this.name = name;
this.label = label;
this.isSelected = isSelected;
this.selection = "YES";
this.value = constant;
labelElement = new WikiLabel(label).setWidth(200, 500).setHeight(35);
buttonYes.setSelected(true);
group.selectedToggleProperty().addListener((ObservableValue<? extends Toggle> ov, Toggle tOld, Toggle tNew) -> {
RadioButton btn = (RadioButton) tNew.getToggleGroup().getSelectedToggle();
setSelection(btn.getId());
});
valueText.setOnKeyReleased((KeyEvent event) -> {
this.value = valueText.getText();
});
}
private void printPayload(Toggle t) {
Node n = getBottom();
if (n == null && t != null) {
setBottom(payloadcontainer);
} else if (n!= null && t == null) {
setBottom(null);
}
if (currentmessage == null || t == null) {
topic.setText(null);
topic.setVisible(false);
payload.setText(null);
payload.setVisible(false);
} else {
topic.setText(currentmessage.getTopic());
topic.setVisible(true);
StringFormat format = (StringFormat) t.getUserData();
String txt = format.format(format.value(currentmessage.getMessage()));
payload.setText(txt);
payload.setVisible(true);
}
}
private void onOK(final ActionEvent ignored)
{
Toggle selectedToggle = toggleGroup.getSelectedToggle();
Logging.debugPrint("selected toggle is " + selectedToggle);
if (selectedToggle != null)
{
Integer whichItemId = (Integer)selectedToggle.getUserData();
InfoFacade selectedItem = chooser.getAvailableList().getElementAt(whichItemId);
chooser.addSelected(selectedItem);
}
if (chooser.isRequireCompleteSelection() && (chooser.getRemainingSelections().get() > 0))
{
Dialog<ButtonType> alert = new Alert(Alert.AlertType.INFORMATION);
alert.setTitle(chooser.getName());
alert.setContentText(LanguageBundle.getFormattedString("in_chooserRequireComplete",
chooser.getRemainingSelections().get()));
alert.showAndWait();
return;
}
chooser.commit();
committed = true;
this.dispose();
}
/**
* Ensures, that always a button is selected:
* - if because of an invalidation of the input list the selection is lost, the selection is reapplied
* - if no button is selected, select the first button
*/
private void selectFirstToggleButton() {
final ToggleGroup toggleGroup = getSkin().getToggleGroup();
if (toggleGroup.getSelectedToggle() == null && !toggleGroup.getToggles().isEmpty()) {
final E selectedElement = getControl().selectedElementProperty().getValue();
if (selectedElement != null && getControl().getElements().contains(selectedElement)) {
// 1 if an "all" button exists, 0 otherwise
final int offset = toggleGroup.getToggles().size() - getControl().getElements().size();
final int index = getControl().getElements().indexOf(getControl().selectedElementProperty().getValue());
// reselect the previously selected item
toggleGroup.selectToggle(toggleGroup.getToggles().get(offset + index));
} else {
final Toggle firstToggle = toggleGroup.getToggles().get(0);
// trigger the first item in the toggle group
if (firstToggle instanceof ToggleButton) {
((ToggleButton) firstToggle).fire();
}
}
}
}
public void removeButton(T ref) {
if (!items.containsKey(ref)) {
logger.error("removeButton on non-existing ref - {}", ref);
return;
}
final Node item = items.remove(ref);
if (Platform.isFxApplicationThread()) {
subContainer.getChildren().remove(item);
} else {
Platform.runLater(() -> subContainer.getChildren().remove(item));
}
if (toggleable && ref == defaultSelection) {
defaultSelection = null;
}
if (toggleable && ref == currentSelection && defaultSelection != null) {
currentSelection = defaultSelection;
itemListener.onItemClicked(currentSelection);
toggleGroup.selectToggle((Toggle) items.get(currentSelection));
}
}
private void addListeners() {
currentSectionIndex.addListener((observable, oldValue, newValue) -> {
if (!newValue.equals(oldValue)) {
ObservableList<Toggle> toggles = sectionButtonsGroup.getToggles();
Toggle toggleToSelect = toggles.get(newValue.intValue() % toggles.size());
if (sectionButtonsGroup.getSelectedToggle() != toggleToSelect)
sectionButtonsGroup.selectToggle(toggleToSelect);
}
});
sectionButtonsGroup.selectedToggleProperty().addListener((observable, oldValue, newValue) -> {
if (!newValue.equals(oldValue)) {
int index = ((SectionButton) newValue).index;
selectedSection = sections.get(index);
if (showSlideInAnimation)
slideInTimeline.playFromStart();
else
slideOutTimeline.playFromStart();
currentSectionIndex.set(index);
}
});
}
private void onOK(final ActionEvent ignored)
{
Toggle selectedToggle = toggleGroup.getSelectedToggle();
Logging.debugPrint("selected toggle is " + selectedToggle);
if (selectedToggle != null)
{
Integer whichItemId = (Integer)selectedToggle.getUserData();
InfoFacade selectedItem = chooser.getAvailableList().getElementAt(whichItemId);
chooser.addSelected(selectedItem);
}
if (chooser.isRequireCompleteSelection() && (chooser.getRemainingSelections().get() > 0))
{
Dialog<ButtonType> alert = new Alert(Alert.AlertType.INFORMATION);
alert.setTitle(chooser.getName());
alert.setContentText(LanguageBundle.getFormattedString("in_chooserRequireComplete",
chooser.getRemainingSelections().get()));
alert.showAndWait();
return;
}
chooser.commit();
committed = true;
this.dispose();
}
private void updateTranslatorGroupToggle() {
for (MenuItem item1 : parseMenu.getItems()) {
if (item1.getText().equals(translator.getLabel())) {
menuGroup.selectToggle((Toggle) item1);
break;
}
}
}
@Override public ObjectProperty<ToggleGroup> toggleGroupProperty() {
if (null == toggleGroup) {
toggleGroup = new ObjectPropertyBase<>() {
private ToggleGroup old;
private ChangeListener<Toggle> listener = (o, oV, nV) -> {
//getImpl_traversalEngine().setOverriddenFocusTraversability(nV != null ? isSelected() : null);
};
@Override protected void invalidated() {
final ToggleGroup tg = get();
if (tg != null && !tg.getToggles().contains(InitialDigit.this)) {
if (old != null) {
old.getToggles().remove(InitialDigit.this);
}
tg.getToggles().add(InitialDigit.this);
tg.selectedToggleProperty().addListener(listener);
} else if (tg == null) {
old.selectedToggleProperty().removeListener(listener);
old.getToggles().remove(InitialDigit.this);
}
old = tg;
}
@Override public Object getBean() { return InitialDigit.this; }
@Override public String getName() { return "toggleGroup"; }
};
}
return toggleGroup;
}
void initEvent() {
group.selectedToggleProperty().addListener((ObservableValue<? extends Toggle> observable, Toggle oldValue, Toggle newValue) -> {
if (newValue == null) {
group.selectToggle(oldValue);
}
});
}
@Override
public void initOptionsSection() {
try {
effectsGroup.selectedToggleProperty().addListener(new ChangeListener<Toggle>() {
@Override
public void changed(ObservableValue<? extends Toggle> ov,
Toggle old_toggle, Toggle new_toggle) {
checkEffetcsOperationType();
}
});
} catch (Exception e) {
logger.error(e.toString());
}
}
@Override
public void initOptionsSection() {
super.initOptionsSection();
lbGroup.selectedToggleProperty().addListener(new ChangeListener<Toggle>() {
@Override
public void changed(ObservableValue<? extends Toggle> ov,
Toggle old_toggle, Toggle new_toggle) {
checkLineBreak();
}
});
checkLineBreak();
}
@Override
public void initTargetSection() {
try {
super.initTargetSection();
renameGroup.selectedToggleProperty().addListener(new ChangeListener<Toggle>() {
@Override
public void changed(ObservableValue<? extends Toggle> ov,
Toggle old_toggle, Toggle new_toggle) {
checkRenameType();
}
});
checkRenameType();
fillZeroCheck.selectedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> v, Boolean oldV, Boolean newV) {
setUserConfigValue("FileRenameFillZero", fillZeroCheck.isSelected());
}
});
fillZeroCheck.setSelected(AppVariables.getUserConfigBoolean("FileRenameFillZero", true));
startButton.disableProperty().unbind();
startButton.disableProperty().bind(
Bindings.isEmpty(tableData)
.or(tableController.getAddFilesButton().disableProperty())
);
} catch (Exception e) {
logger.debug(e.toString());
}
}
@Override
public void initOptionsSection() {
try {
enhancementGroup.selectedToggleProperty().addListener(new ChangeListener<Toggle>() {
@Override
public void changed(ObservableValue<? extends Toggle> ov,
Toggle old_toggle, Toggle new_toggle) {
checkEnhancementType();
}
});
} catch (Exception e) {
logger.error(e.toString());
}
}
@Override
public void initOptionsSection() {
try {
optionsBox.setDisable(true);
tableBox.setDisable(true);
sizeGroup.selectedToggleProperty().addListener(
(ObservableValue<? extends Toggle> ov, Toggle old_toggle, Toggle new_toggle) -> {
checkSizeType();
});
checkSizeType();
widthInput.textProperty().addListener(
(ObservableValue<? extends String> observable, String oldValue, String newValue) -> {
checkSize();
});
saveButton.disableProperty().bind(
Bindings.isEmpty(tableData)
.or(widthInput.styleProperty().isEqualTo(badStyle))
);
saveAsButton.disableProperty().bind(
saveButton.disableProperty()
);
} catch (Exception e) {
logger.error(e.toString());
}
}
public void pathReady() {
try {
lang = Locale.getDefault().getLanguage().toLowerCase();
infoLabel.setText(message(lang, "Initializing..."));
networkRadio.setText(message(lang, "NetworkModeOnlyLocal"));
embeddedRadio.setText(message(lang, "EmbeddedMode"));
derbyBox.setVisible(true);
isSettingValues = true;
DerbyBase.mode = DerbyBase.readMode();
if (DerbyBase.mode != null && "client".equals(DerbyBase.mode.toLowerCase())) {
networkRadio.setSelected(true);
} else {
embeddedRadio.setSelected(true);
}
isSettingValues = false;
derbyGroup.selectedToggleProperty().addListener(new ChangeListener<Toggle>() {
@Override
public void changed(ObservableValue ov, Toggle old_val, Toggle new_val) {
checkDerbyMode();
}
});
infoLabel.requestFocus();
} catch (Exception e) {
logger.error(e.toString());
}
}
public static boolean setRadioFirstSelected(ToggleGroup group) {
if (group == null) {
return false;
}
ObservableList<Toggle> buttons = group.getToggles();
for (Toggle button : buttons) {
RadioButton radioButton = (RadioButton) button;
radioButton.setSelected(true);
return true;
}
return false;
}
public static boolean setRadioSelected(ToggleGroup group, String text) {
if (group == null || text == null) {
return false;
}
ObservableList<Toggle> buttons = group.getToggles();
for (Toggle button : buttons) {
RadioButton radioButton = (RadioButton) button;
if (text.equals(radioButton.getText())) {
button.setSelected(true);
return true;
}
}
return false;
}
public ToggleButtonSample() {
// create label to show result of selected toggle button
final Label label = new Label();
label.setStyle("-fx-font-size: 2em;");
// create 3 toggle buttons and a toogle group for them
final ToggleButton tb1 = new ToggleButton("Cat");
final ToggleButton tb2 = new ToggleButton("Dog");
final ToggleButton tb3 = new ToggleButton("Horse");
ToggleGroup group = new ToggleGroup();
tb1.setToggleGroup(group);
tb2.setToggleGroup(group);
tb3.setToggleGroup(group);
group.selectedToggleProperty().addListener(new ChangeListener<Toggle>() {
@Override public void changed(ObservableValue<? extends Toggle> observable, Toggle oldValue, Toggle selectedToggle) {
if(selectedToggle!=null) {
label.setText(((ToggleButton) selectedToggle).getText());
}
else {
label.setText("...");
}
}
});
// select the first button to start with
group.selectToggle(tb1);
// add buttons and label to grid and set their positions
GridPane.setConstraints(tb1,0,0);
GridPane.setConstraints(tb2,1,0);
GridPane.setConstraints(tb3,2,0);
GridPane.setConstraints(label,0,1,3,1);
GridPane grid = new GridPane();
grid.setVgap(20);
grid.setHgap(10);
getChildren().add(grid);
grid.getChildren().addAll(tb1, tb2, tb3, label);
}
public ToggleButtonSample() {
// create label to show result of selected toggle button
final Label label = new Label();
label.setStyle("-fx-font-size: 2em;");
// create 3 toggle buttons and a toogle group for them
final ToggleButton tb1 = new ToggleButton("Cat");
final ToggleButton tb2 = new ToggleButton("Dog");
final ToggleButton tb3 = new ToggleButton("Horse");
ToggleGroup group = new ToggleGroup();
tb1.setToggleGroup(group);
tb2.setToggleGroup(group);
tb3.setToggleGroup(group);
group.selectedToggleProperty().addListener(new ChangeListener<Toggle>() {
@Override public void changed(ObservableValue<? extends Toggle> observable, Toggle oldValue, Toggle selectedToggle) {
if(selectedToggle!=null) {
label.setText(((ToggleButton) selectedToggle).getText());
}
else {
label.setText("...");
}
}
});
// select the first button to start with
group.selectToggle(tb1);
// add buttons and label to grid and set their positions
GridPane.setConstraints(tb1,0,0);
GridPane.setConstraints(tb2,1,0);
GridPane.setConstraints(tb3,2,0);
GridPane.setConstraints(label,0,1,3,1);
GridPane grid = new GridPane();
grid.setVgap(20);
grid.setHgap(10);
getChildren().add(grid);
grid.getChildren().addAll(tb1, tb2, tb3, label);
}
/**
* Initializes the controller class.
*/
@Override
public void initialize(URL url, ResourceBundle rb) {
ObservableList<String> cities = FXCollections.observableArrayList();
ObservableList<String> states = FXCollections.observableArrayList();
cities.add("Cornélio Procópio");
cities.add("Londrina");
cities.add("São Paulo");
states.add("Paraná");
states.add("São Paulo");
City.setItems(cities);
State.setItems(states);
setEdit();
// TODO
personGroup.selectedToggleProperty().addListener(new ChangeListener<Toggle>() {
@Override
public void changed(ObservableValue<? extends Toggle> observable, Toggle oldValue, Toggle newValue) {
RadioButton radio = (RadioButton) newValue.getToggleGroup().getSelectedToggle();
if (radio.getId().toString().equals("legal")) {
CNPJTextField.setVisible(false);
legalGroup.setVisible(true);
personType = "legal";
} else {
CNPJTextField.setVisible(true);
legalGroup.setVisible(false);
personType = "juridical";
}
}
});
}