我是JavaFX的新手,所以请不要犹豫,解释基本概念。我能够创建一个简单的GUI,我的程序中有两个选项卡TabPane
。我的问题是如何创建一个可以用作节点的类?
例如,tab.setContent(stuff)
会将stuff
添加到tab
,tab
,当然假设stuff
是Node
。所以,假设我创建了一个名为Clock
的类,并希望将其实例添加到tab
,我该如何做这样的事情?
时钟应该是图形对象。我是图形编程的新手,所以对Swing等的引用不会特别有用。
答案 0 :(得分:3)
在您的情况下,创建一个“Clock”类并使用您希望包含的布局对其进行扩展。例如:
public class Clock extends BorderPane{}
然后,您可以使用构造函数为其设置属性或其他节点。
public class Clock extends BorderPane{
TextArea ta = new TextArea("This is TOP");
this.setTop(ta);
Button b1 = new Button("This is button 1");
Button b2 = new Button("This is button 2");
HBox box = new HBox();
box.getChildren().addAll(b1,b2);
this.setCenter(box);
}
然后,您可以从主程序中调用它:
@Override
public void start(Stage primaryStage){
primaryStage.setScene(new Scene(new Clock()));
primaryStage.show();
}
在您的情况下,您可以在按下选项卡时设置场景。这可以使用Tab类并向其添加actionListener来完成。
tab.setContent(new Clock());
希望这会有所帮助。
答案 1 :(得分:0)
请在时钟中添加方法,然后再创建一个调用此方法的构造函数。把所有
TextArea ta = new TextArea("This is TOP");
this.setTop(ta);
Button b1 = new Button("This is button 1");
Button b2 = new Button("This is button 2");
HBox box = new HBox();
box.getChildren().addAll(b1,b2);
this.setCenter(box);
在那个方法中。