Inleiding tot JavaFX-knop

Om het gedrag van een toepassing te regelen, gebruikt JavaFX Button die wordt voorgesteld door het pakket javafx.scene.control en de klasse Button.

Wanneer een gebruiker op een knop klikt, wordt de bijbehorende actie uitgevoerd. Die overeenkomstige gebeurtenis wordt afgehandeld door de gebeurtenishandler. Knoppen kunnen afbeeldingen, tekst, afbeeldingen of al het bovenstaande bevatten. De klasse Button is een uitbreiding van de klasse Labeled. Er zijn verschillende soorten knoppen in JavaFX. Zij zijn:

  • Knop Annuleren: een toetsenbord VK_ENTER druk wordt ontvangen door deze knop Annuleren.
  • Normale knop: Normale drukknop.
  • Standaardknop: een toetsenbord VK_ENTER druk wordt ontvangen door deze standaardknop.

Constructeurs van JavaFX Button

Er zijn drie constructors voor de JavaFX-knop.

1. Knop (): er wordt een knop gemaakt met een lege tekenreeks voor het label.

// create a button
Button b = new Button();

2. Knop ( tekenreeks s ): er wordt een knop gemaakt met een tekenreeks s als label.

// create a button
Button b = new Button(st(a));

3. Knop ( tekenreeks s, pictogram i ): er wordt een knop gemaakt met een tekenreeks s en pictogram i als label.

// create a button
Button b = new Button(“Sam”, a);

Methoden van JavaFX Button

Hier volgen enkele van de meest gebruikte methoden in JavaFX Button.

  • isDefaultButton (): de waarde van de eigenschap defaultButton wordt geretourneerd.
  • isCancelButton (): de waarde van de eigenschap cancelButton wordt geretourneerd.
  • createDefaultSkin (): er wordt een nieuw exemplaar van de standaardknop gemaakt.
  • setCancelButton (boolean b): de waarde van de eigenschap cancelButton wordt ingesteld.
  • setDefaultButton (boolean b): de waarde van de eigenschap defaultButton wordt ingesteld.
  • selectedProperty (): Retourneert of de CheckBox is aangevinkt of niet.
  • cancelButtonProperty (): Een toetsenbord VK_ENTER druk wordt ontvangen door deze knop Annuleren.
  • defaultButtonProperty (): Een toetsenbord VK_ENTER druk zal worden ontvangen door deze standaardknop.

Voorbeelden om JavaFX Button te implementeren

Laten we nu enkele JavaFX-programma's bekijken die de JavaFX-knop implementeren.

Voorbeeld 1

Java-programma om de weergave van één knop te demonstreren.

Code:

//Java program to display 1 button
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
//sample class
public class JavaFXButtonExample extends Application (
//application starts at this point
@Override
public void start(Stage s) (
//create a stackpane
StackPane sp = new StackPane();
//create a button
Button b=new Button("This is an example of a button…Please click me !!!");
//create a scene
Scene sc=new Scene(sp, 200, 200);
//add the button
sp.getChildren().add(b);
//set the scene
s.setScene(sc);
//set the title
s.setTitle("JavaFX Button Example");
//display the results
s.show();
)
//main method
public static void main(String() args) (
launch(args);
)
)

Output:

Uitleg

  • Maak eerst een stapelvenster en maak vervolgens een knop
  • Nadat de knop is gemaakt, maakt u een scène en voegt u deze toe aan de scènegrafiek
  • Toon ten slotte de resultaten.
  • Hier wordt slechts één knop weergegeven.

Voorbeeld 2

Java-programma om een ​​knop met een afbeelding weer te geven.

Code:

//Java program to display 1 button with an image
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import javafx.scene.image.ImageView;
import java.io.FileInputStream;
import javafx.scene.image.Image;
//sample class
public class JavaFXButtonExample extends Application (
//application starts at this point
@Override
public void start(Stage s) throws Exception (
//set the title
s.setTitle("JavaFX Button Example");
// Image Source
//Make sure you have a source image in the specified path
FileInputStream input = new FileInputStream("D:\\EduCBA\\nov\\dndd.png.webp");
//image creation
Image i = new Image(input);
//image view creation
ImageView iv = new ImageView(i);
//create a button
Button b=new Button("This is an example of a button…Please click me !!!", iv);
//create a scene
Scene sc=new Scene(b, 200, 200);
//set the scene
s.setScene(sc);
//display the results
s.show();
)
//main method
public static void main(String() args) (
launch(args);
)
)

Output:

Uitleg

  • Voer eerst een afbeelding uit de lokale map of een andere bron in.
  • Maak vervolgens een knop.
  • Nadat de knop is gemaakt, maakt u een scène en voegt u deze toe aan de scènegrafiek
  • Toon ten slotte de resultaten.
  • Hier wordt een knop met een afbeelding weergegeven.

Voorbeeld 3:

Java-programma om meerdere knoppen weer te geven met een gebeurtenishandler.

Code:

//Java program to display multiple buttons with an event handler
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.layout.*;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.control.*;
import javafx.scene.control.Button;
//sample class
public class JavaFXButtonExample extends Application (
// application launches here
public void start(Stage s) throws Exception
(
// Title for the stage is set
s.setTitle(" JavaFX Button Sample ");
//create a cancel button and set it
Button cb=new Button("This is an example of a cancel button…Please click me !!!");
cb.setCancelButton(true);
//create a default button and set it
Button db = new Button("This is an example of a default button…Please click me !!!");
// set default button
db.setDefaultButton(true);
// tile pane is created
TilePane tp = new TilePane();
// label is created
Label lb = new Label(" Click any one button ");
// an event handler creation
EventHandler ev = new EventHandler() (
public void handle(ActionEvent e)
(
lb.setText(" You have selected cancel button ");
)
);
// an event handler creation
EventHandler evn = new EventHandler() (
public void handle(ActionEvent e)
(
lb.setText(" You have selected default button ");
)
);
// In button, event is set
cb.setOnAction(ev);
db.setOnAction(evn);
tp.getChildren().add(cb);
tp.getChildren().add(db);
tp.getChildren().add(lb);
// Scene creation and adding it to the scene graph
//create a scene
Scene sc=new Scene(tp, 200, 200);
//set the scene
s.setScene(sc);
//display the results
s.show();
)
public static void main(String args())
(
// launch the application
launch(args);
)
)

Output:

Als op een van de knoppen wordt geklikt, is de uitvoer zoals hieronder.

Dat wil zeggen dat er een tekst wordt weergegeven die vermeldt op welke knop de gebruiker heeft geklikt.

Uitleg

  • Maak eerst de knoppen
  • Nadat de knop is gemaakt, geeft u de actie op die moet worden uitgevoerd wanneer erop wordt geklikt.
  • Maak vervolgens een scène en voeg deze toe aan de scènegrafiek
  • Toon ten slotte de resultaten.

Conclusie

JavaFX gebruikt Knop voor het regelen van het gedrag van een toepassing waarbij een actie wordt geactiveerd zodra erop wordt geklikt. Knoppen kunnen van verschillende typen zijn, zoals afbeeldingen, tekst, afbeeldingen of alle bovenstaande tegelijkertijd. Constructors, methoden en voorbeelden van knoppen worden in de bovenstaande secties gedetailleerd uitgelegd.

Aanbevolen artikelen

Dit is een handleiding voor JavaFX Button. Hier bespreken we de constructors en methoden van de javafx-knop, samen met verschillende voorbeelden en code-implementatie. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. JavaFX vs Swing
  2. JFrame Constructor
  3. Java Swing versus Java FX
  4. Syntaxis voor variabelen in JavaScript
  5. JavaFX-label
  6. Programma's om JavaFX Slider te implementeren
  7. Hoe tekst in te voeren in JavaFX TextField?
  8. Programma om JavaFX FileChooser te implementeren
  9. Wat is JavaFX? | Hoe werkt JavaFX?
  10. 3 Methoden van jQuery Slide met programmeren
  11. Eigenschappen met programma om JavaFX-tekst te implementeren
  12. Hoe maak je een checkbox in JavaFX met voorbeelden?
  13. Methoden van JavaFX VBox met voorbeeldcode