Java 在场景中使用其他类
伙计们,我是JavaFX新手,所以我知道这会很愚蠢(或者很容易解决),但是我在一个类中创建了一个Togglebuttons菜单,我想把它放到主菜单中 我的LeftMenu类如下所示:Java 在场景中使用其他类,java,class,user-interface,javafx,scene,Java,Class,User Interface,Javafx,Scene,伙计们,我是JavaFX新手,所以我知道这会很愚蠢(或者很容易解决),但是我在一个类中创建了一个Togglebuttons菜单,我想把它放到主菜单中 我的LeftMenu类如下所示: package application; import javafx.scene.control.ToggleButton; import javafx.scene.control.ToggleGroup; import javafx.scene.control.Tooltip; import javafx.sc
package application;
import javafx.scene.control.ToggleButton;
import javafx.scene.control.ToggleGroup;
import javafx.scene.control.Tooltip;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.VBox;
public class LeftMenu extends BorderPane{
public static void main(String[] args) {
}
public LeftMenu() {
ToggleGroup group = new ToggleGroup();
ToggleButton sr = new ToggleButton("SR");
sr.setTooltip(new Tooltip("SR"));
sr.setPrefWidth(40);
sr.setPrefHeight(40);
sr.setOnAction(e-> {
if(sr.isSelected())
System.out.println(sr.getText() + " ON");
else
System.out.println(sr.getText() + " OFF");
});
ToggleButton mh = new ToggleButton("MH");
mh.setTooltip(new Tooltip("MH"));
mh.setPrefWidth(40);
mh.setPrefHeight(40);
mh.setOnAction(e-> {
if(mh.isSelected())
System.out.println(mh.getText() + " ON");
else
System.out.println(mh.getText() + " OFF");
});
ToggleButton ssfha = new ToggleButton("SSFHA");
ssfha.setTooltip(new Tooltip("SSFHA"));
ssfha.setPrefWidth(40);
ssfha.setPrefHeight(40);
ssfha.setOnAction(e-> {
if(ssfha.isSelected())
System.out.println(ssfha.getText() + " ON");
else
System.out.println(ssfha.getText() + " OFF");
});
sr.setToggleGroup(group);
mh.setToggleGroup(group);
ssfha.setToggleGroup(group);
//Menu
VBox level = new VBox();
level.getStyleClass().addAll("vbox");
level.getChildren().addAll(sr, mh, ssfha);
}
}
我想把它放在这里
(我没有任何错误,所以我不知道是什么情况):
感谢您的帮助。首先,请使用适当的布局窗格,允许您同时查看两个子节点,而不是将一个子节点置于另一个子节点之上(遮住底部节点)的堆叠窗格: 其次,您似乎没有向自定义类添加任何内容:
import javafx.scene.control.ToggleButton;
import javafx.scene.control.ToggleGroup;
import javafx.scene.control.Tooltip;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.VBox;
public class LeftMenu extends BorderPane{
// why on earth is this here? Get rid of it:
//public static void main(String[] args) {
//}
public LeftMenu() {
ToggleGroup group = new ToggleGroup();
ToggleButton sr = new ToggleButton("SR");
sr.setTooltip(new Tooltip("SR"));
sr.setPrefWidth(40);
sr.setPrefHeight(40);
sr.setOnAction(e-> {
if(sr.isSelected())
System.out.println(sr.getText() + " ON");
else
System.out.println(sr.getText() + " OFF");
});
ToggleButton mh = new ToggleButton("MH");
mh.setTooltip(new Tooltip("MH"));
mh.setPrefWidth(40);
mh.setPrefHeight(40);
mh.setOnAction(e-> {
if(mh.isSelected())
System.out.println(mh.getText() + " ON");
else
System.out.println(mh.getText() + " OFF");
});
ToggleButton ssfha = new ToggleButton("SSFHA");
ssfha.setTooltip(new Tooltip("SSFHA"));
ssfha.setPrefWidth(40);
ssfha.setPrefHeight(40);
ssfha.setOnAction(e-> {
if(ssfha.isSelected())
System.out.println(ssfha.getText() + " ON");
else
System.out.println(ssfha.getText() + " OFF");
});
sr.setToggleGroup(group);
mh.setToggleGroup(group);
ssfha.setToggleGroup(group);
//Menu
VBox level = new VBox();
level.getStyleClass().addAll("vbox");
level.getChildren().addAll(sr, mh, ssfha);
// add level to the center of this pane:
setCenter(level);
}
}
首先从自定义类中删除main方法,然后可以直接从start方法中使用stage!
// StackPane root = new StackPane();
HBox root = new HBox();
import javafx.scene.control.ToggleButton;
import javafx.scene.control.ToggleGroup;
import javafx.scene.control.Tooltip;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.VBox;
public class LeftMenu extends BorderPane{
// why on earth is this here? Get rid of it:
//public static void main(String[] args) {
//}
public LeftMenu() {
ToggleGroup group = new ToggleGroup();
ToggleButton sr = new ToggleButton("SR");
sr.setTooltip(new Tooltip("SR"));
sr.setPrefWidth(40);
sr.setPrefHeight(40);
sr.setOnAction(e-> {
if(sr.isSelected())
System.out.println(sr.getText() + " ON");
else
System.out.println(sr.getText() + " OFF");
});
ToggleButton mh = new ToggleButton("MH");
mh.setTooltip(new Tooltip("MH"));
mh.setPrefWidth(40);
mh.setPrefHeight(40);
mh.setOnAction(e-> {
if(mh.isSelected())
System.out.println(mh.getText() + " ON");
else
System.out.println(mh.getText() + " OFF");
});
ToggleButton ssfha = new ToggleButton("SSFHA");
ssfha.setTooltip(new Tooltip("SSFHA"));
ssfha.setPrefWidth(40);
ssfha.setPrefHeight(40);
ssfha.setOnAction(e-> {
if(ssfha.isSelected())
System.out.println(ssfha.getText() + " ON");
else
System.out.println(ssfha.getText() + " OFF");
});
sr.setToggleGroup(group);
mh.setToggleGroup(group);
ssfha.setToggleGroup(group);
//Menu
VBox level = new VBox();
level.getStyleClass().addAll("vbox");
level.getChildren().addAll(sr, mh, ssfha);
// add level to the center of this pane:
setCenter(level);
}
}