Button positioning using HBox javafx
I am trying to place my two button directly under my label and have everything centered on my form. Currently everything is just printed on one line.
@Override
public void start(Stage primaryStage) throws Exception{
HBox hb = new HBox();
hb.setSpacing(15);
hb.setPadding(new Insets(15, 20, 5, 10));
hb.setAlignment(Pos.CENTER);
Label label = new Label("Greetings! Would you like to purchase cruise ticket for a family of two?");
hb.getChildren().add(label);
button1 = new Button("Yes");
hb.getChildren().add(button1);
button1.setOnAction(this);
button2 = new Button("No");
hb.getChildren().add(button2);
button2.setOnAction(this);
Scene scene = new Scene(hb, 550, 250);
primaryStage.setTitle("Cruise for two!");
primaryStage.setScene(scene);
primaryStage.show();
}
javafx
add a comment |
I am trying to place my two button directly under my label and have everything centered on my form. Currently everything is just printed on one line.
@Override
public void start(Stage primaryStage) throws Exception{
HBox hb = new HBox();
hb.setSpacing(15);
hb.setPadding(new Insets(15, 20, 5, 10));
hb.setAlignment(Pos.CENTER);
Label label = new Label("Greetings! Would you like to purchase cruise ticket for a family of two?");
hb.getChildren().add(label);
button1 = new Button("Yes");
hb.getChildren().add(button1);
button1.setOnAction(this);
button2 = new Button("No");
hb.getChildren().add(button2);
button2.setOnAction(this);
Scene scene = new Scene(hb, 550, 250);
primaryStage.setTitle("Cruise for two!");
primaryStage.setScene(scene);
primaryStage.show();
}
javafx
add a comment |
I am trying to place my two button directly under my label and have everything centered on my form. Currently everything is just printed on one line.
@Override
public void start(Stage primaryStage) throws Exception{
HBox hb = new HBox();
hb.setSpacing(15);
hb.setPadding(new Insets(15, 20, 5, 10));
hb.setAlignment(Pos.CENTER);
Label label = new Label("Greetings! Would you like to purchase cruise ticket for a family of two?");
hb.getChildren().add(label);
button1 = new Button("Yes");
hb.getChildren().add(button1);
button1.setOnAction(this);
button2 = new Button("No");
hb.getChildren().add(button2);
button2.setOnAction(this);
Scene scene = new Scene(hb, 550, 250);
primaryStage.setTitle("Cruise for two!");
primaryStage.setScene(scene);
primaryStage.show();
}
javafx
I am trying to place my two button directly under my label and have everything centered on my form. Currently everything is just printed on one line.
@Override
public void start(Stage primaryStage) throws Exception{
HBox hb = new HBox();
hb.setSpacing(15);
hb.setPadding(new Insets(15, 20, 5, 10));
hb.setAlignment(Pos.CENTER);
Label label = new Label("Greetings! Would you like to purchase cruise ticket for a family of two?");
hb.getChildren().add(label);
button1 = new Button("Yes");
hb.getChildren().add(button1);
button1.setOnAction(this);
button2 = new Button("No");
hb.getChildren().add(button2);
button2.setOnAction(this);
Scene scene = new Scene(hb, 550, 250);
primaryStage.setTitle("Cruise for two!");
primaryStage.setScene(scene);
primaryStage.show();
}
javafx
javafx
asked Nov 20 '18 at 4:50


Cpt. FalconCpt. Falcon
11
11
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
For more information on the many layout options available in JavaFX, Oracle provides a great tutorial that I recommend you review!
The HBox
will always arrange its children in a horizontal row. By adding your Label
to the HBox
, JavaFX is doing what you're telling it to.
You also have a VBox
, which arranges nodes vertically. Within the VBox
, add your Label
and then your HBox
; they will be arranged with the HBox
under the Label
.
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class Main extends Application {
private Button button1;
private Button button2;
public static void main(String args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
VBox root = new VBox(5);
root.setPadding(new Insets(10));
root.setAlignment(Pos.CENTER);
HBox hb = new HBox();
hb.setSpacing(15);
hb.setPadding(new Insets(15, 20, 5, 10));
hb.setAlignment(Pos.CENTER);
Label label = new Label("Greetings! Would you like to purchase cruise ticket for a family of two?");
root.getChildren().add(label);
button1 = new Button("Yes");
hb.getChildren().add(button1);
button2 = new Button("No");
hb.getChildren().add(button2);
root.getChildren().add(hb);
Scene scene = new Scene(root, 550, 250);
primaryStage.setTitle("Cruise for two!");
primaryStage.setScene(scene);
primaryStage.show();
}
}
RESULT:
That fixed the problem. Thanks!
– Cpt. Falcon
Nov 20 '18 at 5:04
add a comment |
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<StackPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
<children>
<VBox alignment="CENTER" maxHeight="-Infinity" maxWidth="-Infinity">
<children>
<Label text="Label" />
<HBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity">
<children>
<Button mnemonicParsing="false" text="Button" />
<Button mnemonicParsing="false" text="Button" />
</children>
</HBox>
</children>
</VBox>
</children>
</StackPane>
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53386417%2fbutton-positioning-using-hbox-javafx%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
For more information on the many layout options available in JavaFX, Oracle provides a great tutorial that I recommend you review!
The HBox
will always arrange its children in a horizontal row. By adding your Label
to the HBox
, JavaFX is doing what you're telling it to.
You also have a VBox
, which arranges nodes vertically. Within the VBox
, add your Label
and then your HBox
; they will be arranged with the HBox
under the Label
.
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class Main extends Application {
private Button button1;
private Button button2;
public static void main(String args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
VBox root = new VBox(5);
root.setPadding(new Insets(10));
root.setAlignment(Pos.CENTER);
HBox hb = new HBox();
hb.setSpacing(15);
hb.setPadding(new Insets(15, 20, 5, 10));
hb.setAlignment(Pos.CENTER);
Label label = new Label("Greetings! Would you like to purchase cruise ticket for a family of two?");
root.getChildren().add(label);
button1 = new Button("Yes");
hb.getChildren().add(button1);
button2 = new Button("No");
hb.getChildren().add(button2);
root.getChildren().add(hb);
Scene scene = new Scene(root, 550, 250);
primaryStage.setTitle("Cruise for two!");
primaryStage.setScene(scene);
primaryStage.show();
}
}
RESULT:
That fixed the problem. Thanks!
– Cpt. Falcon
Nov 20 '18 at 5:04
add a comment |
For more information on the many layout options available in JavaFX, Oracle provides a great tutorial that I recommend you review!
The HBox
will always arrange its children in a horizontal row. By adding your Label
to the HBox
, JavaFX is doing what you're telling it to.
You also have a VBox
, which arranges nodes vertically. Within the VBox
, add your Label
and then your HBox
; they will be arranged with the HBox
under the Label
.
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class Main extends Application {
private Button button1;
private Button button2;
public static void main(String args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
VBox root = new VBox(5);
root.setPadding(new Insets(10));
root.setAlignment(Pos.CENTER);
HBox hb = new HBox();
hb.setSpacing(15);
hb.setPadding(new Insets(15, 20, 5, 10));
hb.setAlignment(Pos.CENTER);
Label label = new Label("Greetings! Would you like to purchase cruise ticket for a family of two?");
root.getChildren().add(label);
button1 = new Button("Yes");
hb.getChildren().add(button1);
button2 = new Button("No");
hb.getChildren().add(button2);
root.getChildren().add(hb);
Scene scene = new Scene(root, 550, 250);
primaryStage.setTitle("Cruise for two!");
primaryStage.setScene(scene);
primaryStage.show();
}
}
RESULT:
That fixed the problem. Thanks!
– Cpt. Falcon
Nov 20 '18 at 5:04
add a comment |
For more information on the many layout options available in JavaFX, Oracle provides a great tutorial that I recommend you review!
The HBox
will always arrange its children in a horizontal row. By adding your Label
to the HBox
, JavaFX is doing what you're telling it to.
You also have a VBox
, which arranges nodes vertically. Within the VBox
, add your Label
and then your HBox
; they will be arranged with the HBox
under the Label
.
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class Main extends Application {
private Button button1;
private Button button2;
public static void main(String args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
VBox root = new VBox(5);
root.setPadding(new Insets(10));
root.setAlignment(Pos.CENTER);
HBox hb = new HBox();
hb.setSpacing(15);
hb.setPadding(new Insets(15, 20, 5, 10));
hb.setAlignment(Pos.CENTER);
Label label = new Label("Greetings! Would you like to purchase cruise ticket for a family of two?");
root.getChildren().add(label);
button1 = new Button("Yes");
hb.getChildren().add(button1);
button2 = new Button("No");
hb.getChildren().add(button2);
root.getChildren().add(hb);
Scene scene = new Scene(root, 550, 250);
primaryStage.setTitle("Cruise for two!");
primaryStage.setScene(scene);
primaryStage.show();
}
}
RESULT:
For more information on the many layout options available in JavaFX, Oracle provides a great tutorial that I recommend you review!
The HBox
will always arrange its children in a horizontal row. By adding your Label
to the HBox
, JavaFX is doing what you're telling it to.
You also have a VBox
, which arranges nodes vertically. Within the VBox
, add your Label
and then your HBox
; they will be arranged with the HBox
under the Label
.
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class Main extends Application {
private Button button1;
private Button button2;
public static void main(String args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
VBox root = new VBox(5);
root.setPadding(new Insets(10));
root.setAlignment(Pos.CENTER);
HBox hb = new HBox();
hb.setSpacing(15);
hb.setPadding(new Insets(15, 20, 5, 10));
hb.setAlignment(Pos.CENTER);
Label label = new Label("Greetings! Would you like to purchase cruise ticket for a family of two?");
root.getChildren().add(label);
button1 = new Button("Yes");
hb.getChildren().add(button1);
button2 = new Button("No");
hb.getChildren().add(button2);
root.getChildren().add(hb);
Scene scene = new Scene(root, 550, 250);
primaryStage.setTitle("Cruise for two!");
primaryStage.setScene(scene);
primaryStage.show();
}
}
RESULT:
edited Nov 20 '18 at 5:03
answered Nov 20 '18 at 4:57


ZephyrZephyr
3,5922931
3,5922931
That fixed the problem. Thanks!
– Cpt. Falcon
Nov 20 '18 at 5:04
add a comment |
That fixed the problem. Thanks!
– Cpt. Falcon
Nov 20 '18 at 5:04
That fixed the problem. Thanks!
– Cpt. Falcon
Nov 20 '18 at 5:04
That fixed the problem. Thanks!
– Cpt. Falcon
Nov 20 '18 at 5:04
add a comment |
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<StackPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
<children>
<VBox alignment="CENTER" maxHeight="-Infinity" maxWidth="-Infinity">
<children>
<Label text="Label" />
<HBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity">
<children>
<Button mnemonicParsing="false" text="Button" />
<Button mnemonicParsing="false" text="Button" />
</children>
</HBox>
</children>
</VBox>
</children>
</StackPane>
add a comment |
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<StackPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
<children>
<VBox alignment="CENTER" maxHeight="-Infinity" maxWidth="-Infinity">
<children>
<Label text="Label" />
<HBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity">
<children>
<Button mnemonicParsing="false" text="Button" />
<Button mnemonicParsing="false" text="Button" />
</children>
</HBox>
</children>
</VBox>
</children>
</StackPane>
add a comment |
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<StackPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
<children>
<VBox alignment="CENTER" maxHeight="-Infinity" maxWidth="-Infinity">
<children>
<Label text="Label" />
<HBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity">
<children>
<Button mnemonicParsing="false" text="Button" />
<Button mnemonicParsing="false" text="Button" />
</children>
</HBox>
</children>
</VBox>
</children>
</StackPane>
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<StackPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
<children>
<VBox alignment="CENTER" maxHeight="-Infinity" maxWidth="-Infinity">
<children>
<Label text="Label" />
<HBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity">
<children>
<Button mnemonicParsing="false" text="Button" />
<Button mnemonicParsing="false" text="Button" />
</children>
</HBox>
</children>
</VBox>
</children>
</StackPane>
answered Nov 20 '18 at 8:49
Przemek KrysztofiakPrzemek Krysztofiak
1817
1817
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53386417%2fbutton-positioning-using-hbox-javafx%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown