Voglio creare un pulsante di commutazione come sopra Sono uno sviluppatore swt in cui ho usato questo widget Switchbutton. Posso avere qualcosa di simile in JavaFXCome posso creare un pulsante di commutazione in javafx?
risposta
Inclinazione primo è quello di estendere il JavaFX Label
e aggiungere un Button
come grafica e un SimpleBooleanProperty
per l'ascolto. Impostare un gestore ActionEvent
sul pulsante che commuta lo allineamento del testo, dello stile e del contenuto grafico dello Label
. Il codice qui sotto ti farà iniziare e potrai giocare con lo stile e il limite.
package switchbutton;
import javafx.beans.property.SimpleBooleanProperty;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.control.Button;
import javafx.scene.control.ContentDisplay;
import javafx.scene.control.Label;
public class SwitchButton extends Label
{
private SimpleBooleanProperty switchedOn = new SimpleBooleanProperty(true);
public SwitchButton()
{
Button switchBtn = new Button();
switchBtn.setPrefWidth(40);
switchBtn.setOnAction(new EventHandler<ActionEvent>()
{
@Override
public void handle(ActionEvent t)
{
switchedOn.set(!switchedOn.get());
}
});
setGraphic(switchBtn);
switchedOn.addListener(new ChangeListener<Boolean>()
{
@Override
public void changed(ObservableValue<? extends Boolean> ov,
Boolean t, Boolean t1)
{
if (t1)
{
setText("ON");
setStyle("-fx-background-color: green;-fx-text-fill:white;");
setContentDisplay(ContentDisplay.RIGHT);
}
else
{
setText("OFF");
setStyle("-fx-background-color: grey;-fx-text-fill:black;");
setContentDisplay(ContentDisplay.LEFT);
}
}
});
switchedOn.set(false);
}
public SimpleBooleanProperty switchOnProperty() { return switchedOn; }
}
non potrebbe questo essere fatto con due bottoni a commutazione che sono tenuti insieme (bind()) in cui ogni pulsante Get di essa la propria stile CSS? In realtà sembra che il CSS sia la parte difficile (ma fattibile) per avere ragione.
Quindi la tua app dovrebbe solo ascoltare il pulsante di attivazione dei due che fa effettivamente ciò che desideri?
Questa è una risposta. La risposta dice di legare insieme due pulsanti di commutazione che hanno uno stile CSS diverso. Se ritieni che ciò sia sbagliato, una cattiva pratica o non utile, il comportamento corretto è di svalutare la risposta, non eliminarla. –
Il progetto FX di controlli fornisce un pulsante di commutazione come si cerca.
- 1. Pulsante di commutazione AngularJS
- 2. Pulsante di commutazione come stile pulsante radio
- 3. Pulsante di commutazione multistato
- 4. disabilitazione di un pulsante in JavaFX
- 5. Come creare un JavaFX-Widget
- 6. Posso creare un modello di pulsante Android?
- 7. Come posso creare un blocco noop per un caso di commutazione in Swift?
- 8. Come creare due finestre contemporaneamente in JavaFX?
- 9. Come creare una finestra di dialogo JavaFX?
- 10. Pulsante di commutazione nel cassetto di navigazione
- 11. Come visualizzare il testo verticalmente su un pulsante in JavaFX?
- 12. Come posso creare il ridimensionamento degli spaziatori in JavaFX?
- 13. Come creare menu di navigazione in JavaFX
- 14. Come posso creare un pulsante invisibile, ma selezionabile in C#
- 15. widget gwt - pulsante di commutazione mutuamente esclusivo
- 16. Come creare un pulsante javafx con una forma circolare di diametro 3xp?
- 17. Come creare un pulsante Annulla in Bootstrap
- 18. Come posso creare facilmente un caso (caso di commutazione) per tutti gli elementi enumerati?
- 19. Rimozione del padding dal pulsante di commutazione in Android
- 20. Come creare un progetto JavaFX Maven in IntelliJ IDEA?
- 21. Come creare un pulsante Elimina in GridView?
- 22. Come creare un pulsante circolare in Swift?
- 23. JavaFX - crea pulsante personalizzato con immagine
- 24. Come posso creare un pulsante Indietro con Drupal form API?
- 25. Modifica dello stato del pulsante di commutazione da un altro pulsante
- 26. Come rimuovere il pulsante di chiusura dalle schede in javafx
- 27. Stile di un pulsante JavaFX 2 utilizzando solo FXML - Come aggiungere un'immagine a un pulsante?
- 28. JAVAFX: Come disabilitare il pulsante per un tempo specifico?
- 29. Pulsante di commutazione - disabilita la funzione di scorrimento
- 30. Come posso creare una forma di pulsante complessa?
Si consiglia di dare un'occhiata a http://docs.oracle.com/javafx/2/api/javafx/scene/control/ToggleButton.html. So che non è esattamente la stessa cosa, ma serve fondamentalmente la stessa funzionalità. –