- 浏览: 197437 次
- 性别:
- 来自: 湖南
文章分类
最新评论
-
kongyumi:
电话18800163600
初学certificate -
kongyumi:
解压密码多少?求告知
初学certificate -
船到桥头自然沉:
初学certificate -
笑海人胜:
...
JavaFX学习之Preloader -
kanjiantaiyang:
引用[img][/img][url][/url][b][/b] ...
security
Control
Control类控件通常由Control,Skin,Behavior3个类组成,其中Skin用于排版布局也就是rendering。
setContextMenu(ContextMenu value)设置邮件菜单
setHeight(double value)
setWidth(double value)
setMaxHeight(double value)
setMaxSize(double maxWidth, double maxHeight)
setMaxWidth(double value)
setMinHeight(double value)
setMinSize(double minWidth, double minHeight)
setMinWidth(double value)
setPrefHeight(double value)
setPrefSize(double prefWidth, double prefHeight)
setPrefWidth(double value)
实际,最大,最小,优先选择
setSkin(Skin<?> value)
setSkinClassName(java.lang.String skinClassName) 指定皮肤
setTooltip(Tooltip value)
resize(double width, double height) 在父类布局的时候调用,控制control的大小
Button
三个构造方法,二个参数一个是名字,另一个是图标。control类的基本上都有图标
通过setContentDisplay控制文字和图标的位置
方法
setCancelButton
setDefaultButton
ToggleButton
关联的Button, 通过设置setToggleGroup,把几个ToggleButton放在一组,这样就只有一个能选中。
选中设置setSelected。
一般通过ToggleGroup的selectedToggleProperty去监听toggleButton的变动。
RadioButton
用法和ToggleButton一样
CheckBox
setIndeterminate(true);设置不确定符号,也就是checkbook一出来就显示一个横杠。若没有设置setAllowIndeterminate(true),则只初始化时候有,继续点不出现。
checkBox.setAllowIndeterminate(true);允许不确定符号出现在点击的时候,出了空和勾外,还允许横杠出现。
ChoiceBox
ChoiceBox<String> cb = new ChoiceBox<String>();
cb.getItems().addAll("a","b","c");
其它方法
setConverter(StringConverter<T> value)
setValue(T value)
show()
hide()
ComboBox
组合下拉框
setEditable(true)则可以编辑
框的大小是按最大长度的值去算的
setPromptText默认内容
ContextMenu
上下文菜单,一般用于右键点击,但一些node本身就已经由ContextMenu,所以会都出现。
show(Node anchor, double screenX, double screenY)
show(Node anchor, Side side, double dx, double dy)
主动展示,控制位置
Hyperlink
Label and Labeled
setLabelFor(Node value)??
labeled一些方法
setEllipsisString(java.lang.String value)设置省略号,但text的内容不能完全显示时,后面加指定的省略值。
setGraphicTextGap(double value)设置graphic和text之间的间隙
setMnemonicParsing(boolean value)
setTextFill(Paint value)设置文字颜色
setTextOverrun(OverrunStyle value) 设置text超出范围后处理策略,默认用省略策略
setUnderline(boolean value)设置下划线
setWrapText(boolean value) 设置是否换行
getContentBias() 当text换行,这是此值为HORIZONTAL,否则为空
ListView
MenuBar and Menu and MenuItem
一般菜单栏通过MenuBar添加Menu,menu里面可以添加menu(二级菜单)和menuItem。menuItem为最小单位了。
menuBar.getMenus().add(menu);
menu.getItems().add(menuItem);
设置快捷键
除了MenuItem外,还有CheckMenuItem等Node,方便使用。
其它方法
Menu
show()展现菜单,初始化的时候调这个没用,一般通过其它事件去调用这个方法去展示菜单
MenuBar
setUseSystemMenuBar(boolean value)使用系统提供的Bar,若平台支持
Pagination
分页,通过setPageFactory构造每页的值。
构造函数总共页数,当前页数
其它方法
setMaxPageIndicatorCount(int value)设置当前展示页数的最大值,默认可以展示10个
PasswordField
PopupControl
RadioButton
ProgressBar and ProgressIndicator
关键的就是progress的值,此值改变进度值,一般是通过binding。进度值小于0是一直在闪,0到1是具体的进度,大于等于1都是满的。
ProgressIndicator 只是变成了原形的进度条。
ScrollBar
ScrollBar sb = new ScrollBar();
sb.setOrientation(Orientation.HORIZONTAL);
root.getChildren().add(sb);
和ScrollPane不同,要控制的Node与ScrollBar之间没有什么联系,只能通过计算ScrollBar的移动去计算要控制的Node。
需要手动设置是水平,还是竖直
setUnitIncrement(double value) 设置单元增长
setValue(double value) 设置当前值
setVisibleAmount(double value) 设置可见的bar的范围,也就是那可移动的条条的长度。
setMax(double value)
setMin(double value) 设置value的最大最小值
ScrollPane
ScrollPane主要控制的就是HBar和VBar
设置Bar出现的策略,有一直有,需要的时候有,一直没有
通过控制Hvalue和Vvalue控制显示的位置, value值一般是从0到1,设置最小值和最大值,则value便从min到max。
其它的一些方法
setFitToHeight(boolean value)为true若它的子节点大小可以变化,则子节点的高度变成和scrollpane的高度一样,若不可以变化忽略此值。
setPannable(boolean value)
setPrefViewportHeight(double value)
setViewportBounds(Bounds value)
Separator
分割线,设置方向和位置
SplitPane
setOrientation(Orientation value) 设置是水平还是竖直分。
setDividerPositions(double... positions) 设置分割的大小,0.0到1.0。
setDividerPosition(int dividerIndex, double position) 设置分割的大小
基本上就这二个方法
TabPane and Tab
Control可以设置大小。
子节点的位置由父节点控制,所以子节点只能用translate控制位置。
设置close按钮是否可用,设置disable是否tab可点,设置ContextMenu右击菜单,设置Tooltip提示信息(鼠标移上去提示)。
可用设置close事件,和selection事件(选中和离开)。
若对所有选中tab进行处理,可用使用tabpane来做,基本上每一个父类加点都要这种事件处理如tableView,treeView,都是获取选中的Model,然后获取选中ItemProperty,在上面加item改变事件。注意的是刚加载的时候默认的item为新的item,但是没有旧的item,此时它为空。其实可用换一种想法,addListener事件针对所有的property,只要你观察哪个property符合你的要求,就可用对上面加事件,从而获取你所要的。
其它方法
setUserData(java.lang.Object value)设置用户数据,可用把一些数据存储在这里,然后在需要的时候拿过来用。
tabPane的方法
setRotateGraphic(boolean value)设置tab的graphic是否可旋转
setSide(Side value) 设置tab栏的显示位置
setTabClosingPolicy(TabPane.TabClosingPolicy value)设置Close按钮的政策,所有的有,只有选中时有,都没有
setTabMaxHeight(double value)
setTabMaxWidth(double value)
setTabMinHeight(double value)
setTabMinWidth(double value) 设置Tab的最大最小size
TextArea
TextField and TextInputControl
TextField tf = new TextField();
tf.setAlignment(Pos.CENTER);
TextField tf1 = new TextField();
tf1.setPrefColumnCount(10);
方法
setPrefColumnCount设置优先的column数量,用于计算textField长度
getCharacters() 获取输入的字符串
TextInputControl一些方法
设置是否可编辑,设置提示内容。
copy()赋值选中的值
paste()粘贴
cut()
deleteNextChar() 删除当前位置的下一个值,有选中的话,删除选中值
deletePreviousChar() 删除当前位置的前一个值,有选中的话,删除选中值
deleteText(IndexRange range) 按规则来删
deselect() 清除选中,并不删掉选中内容
clear()清楚text里面内容
insertText(int index, java.lang.String text)往指定的位置插入text
selectPreviousWord()选择光标之前的内容
selectNextWord()选中光标后的内容
selectEndOfNextWord()
selectAll()选中所有
selectHome()选择光标到home
selectEnd()选择光标到end
selectPositionCaret(int pos)
selectRange(int anchor,int caretPosition)
nextWord()把光标移到最后 ??
endOfNextWord()??
home()光标移动到最前
end()光标移动到最后
forward()光标向前移一下
backward()光标向后移一下
extendSelection(int pos)???
replaceSelection(java.lang.String replacement)
TitledPane
有点像下拉框,titledPane本身没什么方法,都是继承labeledPane。
setExpanded设置默认是否展开
setCollapsible设置有没有展开的功能
setAnimated设置展开时的动画,为false则展开的node直接出现,没有动画效果
ToolBar
常用的工具条,本身没什么方法,就一个设置方向的。
Tooltip
可以直接在节点上设置tooltip,或者是用tooltip的install方法与节点关联
其它方法
setContentDisplay(ContentDisplay value) 设置图标相对于文字的位置
isActivated()由于延迟可能还没显示,此时active为false
[b][/b]
这里有很多javafx的小游戏,一个高手写的
http://lustrezhang.gotoip4.com/fxgame/
这里有个javafx学习的中文网站,我把内容都丢那上面去了。
http://www.jfxee.com/
Control类控件通常由Control,Skin,Behavior3个类组成,其中Skin用于排版布局也就是rendering。
setContextMenu(ContextMenu value)设置邮件菜单
setHeight(double value)
setWidth(double value)
setMaxHeight(double value)
setMaxSize(double maxWidth, double maxHeight)
setMaxWidth(double value)
setMinHeight(double value)
setMinSize(double minWidth, double minHeight)
setMinWidth(double value)
setPrefHeight(double value)
setPrefSize(double prefWidth, double prefHeight)
setPrefWidth(double value)
实际,最大,最小,优先选择
setSkin(Skin<?> value)
setSkinClassName(java.lang.String skinClassName) 指定皮肤
setTooltip(Tooltip value)
resize(double width, double height) 在父类布局的时候调用,控制control的大小
Button
Button button = new Button(); button.setText("Click"); button.setGraphic(new ImageView(image)); Button button2 = new Button("Click"); button2.setGraphic(new ImageView(image)); Button button3 = new Button("Click",new ImageView(image)); button3.setContentDisplay(ContentDisplay.LEFT);
三个构造方法,二个参数一个是名字,另一个是图标。control类的基本上都有图标
通过setContentDisplay控制文字和图标的位置
方法
setCancelButton
setDefaultButton
ToggleButton
public void init(Group root){ ToggleGroup tg = new ToggleGroup(); ToggleButton tb1 = new ToggleButton("one"); tb1.setToggleGroup(tg); tb1.setSelected(true); ToggleButton tb2 = new ToggleButton("two"); tb2.setToggleGroup(tg); ToggleButton tb3 = new ToggleButton("three"); tb3.setToggleGroup(tg); HBox box = new HBox(20); box.getChildren().addAll(tb1,tb2,tb3); box.setFillHeight(true); box.setLayoutX(200); box.setLayoutY(300); root.getChildren().addAll(box); }
关联的Button, 通过设置setToggleGroup,把几个ToggleButton放在一组,这样就只有一个能选中。
选中设置setSelected。
一般通过ToggleGroup的selectedToggleProperty去监听toggleButton的变动。
tg.selectedToggleProperty().addListener(new ChangeListener<Toggle>() { @Override public void changed(ObservableValue<? extends Toggle> observable, Toggle oldValue, Toggle newValue) { } });
RadioButton
public void init(Group root) { RadioButton rb1 = new RadioButton(); RadioButton rb2 = new RadioButton(); RadioButton rb3 = new RadioButton(); ToggleGroup tg = new ToggleGroup(); rb1.setToggleGroup(tg); rb2.setToggleGroup(tg); rb3.setToggleGroup(tg); HBox box = new HBox(20); box.getChildren().addAll(rb1,rb2,rb3); box.setFillHeight(true); box.setLayoutX(200); box.setLayoutY(300); root.getChildren().addAll(box); }
用法和ToggleButton一样
CheckBox
public void init(HBox root){ CheckBox checkBox = new CheckBox(); checkBox.setSelected(true); CheckBox checkBox2 = new CheckBox(); checkBox2.setIndeterminate(true); CheckBox checkBox3 = new CheckBox(); checkBox3.setAllowIndeterminate(true); root.setAlignment(Pos.CENTER); root.getChildren().addAll(checkBox,checkBox2,checkBox3); }
setIndeterminate(true);设置不确定符号,也就是checkbook一出来就显示一个横杠。若没有设置setAllowIndeterminate(true),则只初始化时候有,继续点不出现。
checkBox.setAllowIndeterminate(true);允许不确定符号出现在点击的时候,出了空和勾外,还允许横杠出现。
ChoiceBox
ChoiceBox<String> cb = new ChoiceBox<String>();
cb.getItems().addAll("a","b","c");
其它方法
setConverter(StringConverter<T> value)
setValue(T value)
show()
hide()
ComboBox
private final ObservableList<String> strings = FXCollections.observableArrayList( "Option 1", "Option 2", "Option 3", "Option 4", "Option 5", "Option 6", "Option 7", "Option 8", "Option 9", "Option 10", "Option 1222222222222222222"); public void init(HBox root){ ComboBox<String> cb = new ComboBox<String>(); cb.setPromptText("select"); cb.getItems().addAll(strings); ComboBox<String> cb2 = new ComboBox<String>(); cb2.setPromptText("select or edit"); cb2.getItems().addAll(strings); cb2.setEditable(true); root.setAlignment(Pos.CENTER); root.getChildren().addAll(cb,cb2); }
组合下拉框
setEditable(true)则可以编辑
框的大小是按最大长度的值去算的
setPromptText默认内容
ContextMenu
final ContextMenu contextMenu = new ContextMenu(); MenuItem item1 = new MenuItem("About"); MenuItem item2 = new MenuItem("Preferences"); contextMenu.getItems().addAll(item1, item2); final TextField textField = new TextField("Type Something"); textField.setContextMenu(contextMenu); textField.setOnAction(new EventHandler<ActionEvent>() { public void handle(ActionEvent e) { contextMenu.show(textField, Side.BOTTOM, 0, 0); } });
上下文菜单,一般用于右键点击,但一些node本身就已经由ContextMenu,所以会都出现。
show(Node anchor, double screenX, double screenY)
show(Node anchor, Side side, double dx, double dy)
主动展示,控制位置
Hyperlink
Label and Labeled
setLabelFor(Node value)??
labeled一些方法
setEllipsisString(java.lang.String value)设置省略号,但text的内容不能完全显示时,后面加指定的省略值。
setGraphicTextGap(double value)设置graphic和text之间的间隙
setMnemonicParsing(boolean value)
setTextFill(Paint value)设置文字颜色
setTextOverrun(OverrunStyle value) 设置text超出范围后处理策略,默认用省略策略
setUnderline(boolean value)设置下划线
setWrapText(boolean value) 设置是否换行
getContentBias() 当text换行,这是此值为HORIZONTAL,否则为空
ListView
MenuBar and Menu and MenuItem
MenuBar menuBar = new MenuBar(); Menu menu = new Menu("File"); Menu newMenu = new Menu("new"); MenuItem javaItem = new MenuItem("Java Project"); newMenu.getItems().add(javaItem); MenuItem openItem = new MenuItem("open"); openItem.setAccelerator(KeyCombination.keyCombination("Ctrl+O")); openItem.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { // TODO Auto-generated method stub FileChooser fc = new FileChooser(); fc.showOpenDialog(stage); } }); MenuItem closeItem = new MenuItem("close"); CheckMenuItem filterItem = new CheckMenuItem("filter"); menu.getItems().addAll(newMenu,openItem,new SeparatorMenuItem(),closeItem,filterItem); menuBar.getMenus().add(menu);
一般菜单栏通过MenuBar添加Menu,menu里面可以添加menu(二级菜单)和menuItem。menuItem为最小单位了。
menuBar.getMenus().add(menu);
menu.getItems().add(menuItem);
设置快捷键
除了MenuItem外,还有CheckMenuItem等Node,方便使用。
其它方法
Menu
show()展现菜单,初始化的时候调这个没用,一般通过其它事件去调用这个方法去展示菜单
MenuBar
setUseSystemMenuBar(boolean value)使用系统提供的Bar,若平台支持
Pagination
Pagination pagination = new Pagination(10, 0); pagination.setPrefWidth(300); pagination.setPageFactory(new Callback<Integer, Node>() { public Node call(Integer pageIndex) { VBox box = new VBox(5); Hyperlink link = new Hyperlink(myurls[pageIndex]); box.getChildren().add(link); return box; } }); pagination.currentPageIndexProperty().addListener(new ChangeListener<Number>() { @Override public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) { System.out.println(newValue); System.out.println(myurls[newValue.intValue()]); } });
分页,通过setPageFactory构造每页的值。
构造函数总共页数,当前页数
其它方法
setMaxPageIndicatorCount(int value)设置当前展示页数的最大值,默认可以展示10个
PasswordField
PopupControl
RadioButton
ProgressBar and ProgressIndicator
ProgressBar pb = new ProgressBar(); pb.setPrefSize(200, 20); pb.setLayoutX(50); pb.setLayoutY(50); ProgressBar pb2 = new ProgressBar(); pb2.setPrefSize(200, 20); pb2.setLayoutX(50); pb2.setLayoutY(100); pb2.setProgress(0); ProgressBar pb3 = new ProgressBar(); pb3.setPrefSize(200, 20); pb3.setLayoutX(50); pb3.setLayoutY(150); pb3.setProgress(0.5); ProgressBar pb4 = new ProgressBar(); pb4.setPrefSize(200, 20); pb4.setLayoutX(50); pb4.setLayoutY(150); pb4.progressProperty().bind(dp); Timeline timeline = new Timeline(); KeyFrame kf = new KeyFrame(Duration.millis(100),new EventHandler<ActionEvent>(){ @Override public void handle(ActionEvent event) { if(dp.get()<1){ dp.set(dp.get()+0.05); }else{ dp.set(0); } } }); timeline.getKeyFrames().add(kf); timeline.setCycleCount(Timeline.INDEFINITE); ProgressIndicator pi = new ProgressIndicator(); pi.setLayoutY(250); root.getChildren().addAll(pb,pb2,pb3,pb4); timeline.play();
关键的就是progress的值,此值改变进度值,一般是通过binding。进度值小于0是一直在闪,0到1是具体的进度,大于等于1都是满的。
ProgressIndicator 只是变成了原形的进度条。
ScrollBar
引用
ScrollBar sb = new ScrollBar();
sb.setOrientation(Orientation.HORIZONTAL);
root.getChildren().add(sb);
和ScrollPane不同,要控制的Node与ScrollBar之间没有什么联系,只能通过计算ScrollBar的移动去计算要控制的Node。
需要手动设置是水平,还是竖直
setUnitIncrement(double value) 设置单元增长
setValue(double value) 设置当前值
setVisibleAmount(double value) 设置可见的bar的范围,也就是那可移动的条条的长度。
setMax(double value)
setMin(double value) 设置value的最大最小值
ScrollPane
Rectangle rect = new Rectangle(200, 200); Stop start = new Stop(0,Color.BLACK); Stop end = new Stop(1,Color.WHITE); Stop[] stops = {start,end}; LinearGradient lg = LinearGradientBuilder.create().startX(0).endX(1).stops(stops).build(); rect.setFill(lg); ScrollPane s1 = new ScrollPane(); s1.setPrefSize(150, 150); s1.setContent(rect); Rectangle rect2 = new Rectangle(200, 600); rect2.setFill(lg); final ScrollPane s2 = new ScrollPane(); s2.setPrefSize(150, 300); s2.setContent(rect2); s2.setLayoutX(250); s2.setHbarPolicy(ScrollBarPolicy.NEVER); s2.setVmax(1000); s2.setVmin(200); s2.vvalueProperty().addListener(new ChangeListener<Number>() { @Override public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) { System.out.println(newValue); } }); Button button = new Button("Click"); button.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { s2.setVvalue(500); } }); button.setLayoutY(500);
ScrollPane主要控制的就是HBar和VBar
设置Bar出现的策略,有一直有,需要的时候有,一直没有
通过控制Hvalue和Vvalue控制显示的位置, value值一般是从0到1,设置最小值和最大值,则value便从min到max。
其它的一些方法
setFitToHeight(boolean value)为true若它的子节点大小可以变化,则子节点的高度变成和scrollpane的高度一样,若不可以变化忽略此值。
setPannable(boolean value)
setPrefViewportHeight(double value)
setViewportBounds(Bounds value)
Separator
Text text1 = new Text("a"); Text text2 = new Text("b"); Separator s = new Separator(); s.setPrefWidth(50); s.setOrientation(Orientation.VERTICAL); s.setHalignment(HPos.RIGHT);
分割线,设置方向和位置
SplitPane
SplitPane sp = new SplitPane(); sp.setPrefSize(600,600); sp.setOrientation(Orientation.VERTICAL); final StackPane sp1 = new StackPane(); sp1.getChildren().add(new Button("Button One")); final StackPane sp2 = new StackPane(); sp2.getChildren().add(new Button("Button Two")); final StackPane sp3 = new StackPane(); sp3.getChildren().add(new Button("Button Three")); sp.getItems().addAll(sp1, sp2, sp3); sp.setDividerPositions(0.1f, 0.3f, 0.6f);
setOrientation(Orientation value) 设置是水平还是竖直分。
setDividerPositions(double... positions) 设置分割的大小,0.0到1.0。
setDividerPosition(int dividerIndex, double position) 设置分割的大小
基本上就这二个方法
TabPane and Tab
TabPane tabPane = new TabPane(); tabPane.setPrefSize(600, 600); Tab tab1 = new Tab(); tab1.setText("tab1"); Text text = new Text("tab1"); text.setTranslateX(100); tab1.setContent(text); Tab tab2 = new Tab("tab2"); Text text2 = new Text("tab2"); tab2.setContent(text2); tab2.setClosable(false); Tab tab3 = new Tab("tab3"); tab3.setDisable(true); Tab tab4 = new Tab("tab4"); ContextMenu cm = new ContextMenu(); MenuItem mi = new MenuItem("About"); cm.getItems().add(mi); tab4.setContextMenu(cm); tab4.setClosable(false); Tab tab5 = new Tab("tab5"); tab5.setTooltip(new Tooltip("Don't close it")); tab6.setOnClosed(new EventHandler<Event>() { @Override public void handle(Event event) { System.out.println("close"); } }); tab6.setOnSelectionChanged(new EventHandler<Event>() { @Override public void handle(Event event) { System.out.println("tab6 changed"); } }); tabPane.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<Tab>() { @Override public void changed(ObservableValue<? extends Tab> observable, Tab oldValue, Tab newValue) { System.out.println(newValue.getText()); } }); tabPane.getTabs().addAll(tab1,tab2,tab3,tab4,tab5,tab6);
Control可以设置大小。
子节点的位置由父节点控制,所以子节点只能用translate控制位置。
设置close按钮是否可用,设置disable是否tab可点,设置ContextMenu右击菜单,设置Tooltip提示信息(鼠标移上去提示)。
可用设置close事件,和selection事件(选中和离开)。
若对所有选中tab进行处理,可用使用tabpane来做,基本上每一个父类加点都要这种事件处理如tableView,treeView,都是获取选中的Model,然后获取选中ItemProperty,在上面加item改变事件。注意的是刚加载的时候默认的item为新的item,但是没有旧的item,此时它为空。其实可用换一种想法,addListener事件针对所有的property,只要你观察哪个property符合你的要求,就可用对上面加事件,从而获取你所要的。
其它方法
setUserData(java.lang.Object value)设置用户数据,可用把一些数据存储在这里,然后在需要的时候拿过来用。
tabPane的方法
setRotateGraphic(boolean value)设置tab的graphic是否可旋转
setSide(Side value) 设置tab栏的显示位置
setTabClosingPolicy(TabPane.TabClosingPolicy value)设置Close按钮的政策,所有的有,只有选中时有,都没有
setTabMaxHeight(double value)
setTabMaxWidth(double value)
setTabMinHeight(double value)
setTabMinWidth(double value) 设置Tab的最大最小size
TextArea
TextArea ta = new TextArea("abdc"); ta.setPrefSize(200, 200); final TextArea ta2 = new TextArea(); ta2.setPrefColumnCount(10); //设置列 ta2.setPrefRowCount(10); //设置行 ta2.setLayoutY(300); Button button = new Button("Click"); button.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { ta2.setScrollLeft(30); //设置水平滚动条的值 } }); button.setLayoutY(580);
TextField and TextInputControl
TextField tf = new TextField();
tf.setAlignment(Pos.CENTER);
TextField tf1 = new TextField();
tf1.setPrefColumnCount(10);
方法
setPrefColumnCount设置优先的column数量,用于计算textField长度
getCharacters() 获取输入的字符串
TextInputControl一些方法
TextField tf2 = new TextField(); tf2.setEditable(false); tf2.setLayoutX(300); TextField tf3 = new TextField(); tf3.setLayoutY(100); tf3.setPromptText("please click"); tf3.setOnMouseReleased(new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent event) { tf3.deletePreviousChar(); } });
设置是否可编辑,设置提示内容。
copy()赋值选中的值
paste()粘贴
cut()
deleteNextChar() 删除当前位置的下一个值,有选中的话,删除选中值
deletePreviousChar() 删除当前位置的前一个值,有选中的话,删除选中值
deleteText(IndexRange range) 按规则来删
deselect() 清除选中,并不删掉选中内容
clear()清楚text里面内容
insertText(int index, java.lang.String text)往指定的位置插入text
selectPreviousWord()选择光标之前的内容
selectNextWord()选中光标后的内容
selectEndOfNextWord()
selectAll()选中所有
selectHome()选择光标到home
selectEnd()选择光标到end
selectPositionCaret(int pos)
selectRange(int anchor,int caretPosition)
nextWord()把光标移到最后 ??
endOfNextWord()??
home()光标移动到最前
end()光标移动到最后
forward()光标向前移一下
backward()光标向后移一下
extendSelection(int pos)???
replaceSelection(java.lang.String replacement)
TitledPane
TitledPane t1 = new TitledPane(); t1.setPrefWidth(50); t1.setText("select"); t1.setAlignment(Pos.CENTER); t1.setExpanded(false); ListView<String> lv = new ListView<String>(); lv.getItems().addAll("a","b","C"); t1.setContent(lv); TitledPane t2 = new TitledPane("select",new Text("a")); t2.setPrefWidth(50); t2.setCollapsible(false); TitledPane t3 = new TitledPane("select",new Text("a")); t3.setPrefWidth(50); t3.setAnimated(false);
有点像下拉框,titledPane本身没什么方法,都是继承labeledPane。
setExpanded设置默认是否展开
setCollapsible设置有没有展开的功能
setAnimated设置展开时的动画,为false则展开的node直接出现,没有动画效果
ToolBar
ToolBar toolBar = new ToolBar( new Button("New"), new Button("Open"), new Button("Save"), new Separator(), new Button("Clean"), new Button("Compile"), new Button("Run"), new Separator(), new Button("Debug"), new Button("Profile") ); toolBar.setOrientation(Orientation.VERTICAL);
常用的工具条,本身没什么方法,就一个设置方向的。
Tooltip
Button button = new Button("Hover Over Me"); button.setTooltip(new Tooltip("Tooltip for Button")); Rectangle rect = new Rectangle(0, 0, 100, 100); Tooltip t = new Tooltip("A Square"); Tooltip.install(rect, t); root.getChildren().addAll(button,rect);
可以直接在节点上设置tooltip,或者是用tooltip的install方法与节点关联
其它方法
setContentDisplay(ContentDisplay value) 设置图标相对于文字的位置
isActivated()由于延迟可能还没显示,此时active为false
[b][/b]
这里有很多javafx的小游戏,一个高手写的
http://lustrezhang.gotoip4.com/fxgame/
这里有个javafx学习的中文网站,我把内容都丢那上面去了。
http://www.jfxee.com/
发表评论
-
JavaFX学习 EventFilter
2013-01-11 10:41 3635EventFilter可以让你在事件捕捉过程中处理一些东 ... -
JavaFX学习 事件Event
2013-01-04 13:54 0常用的时间一般分为鼠标事件和键盘输入事件,看一下这些事件 ... -
JavaFX学习 自定义控件
2013-01-04 14:19 7995Control,Skin,behavior 在java ... -
JavaFX学习 位置计算
2012-12-31 15:22 1221如何得到节点在window中的位置 Point2D p ... -
JavaFX学习之Image
2013-01-11 13:53 7282ImageView and Image ImageVi ... -
JavaFX学习之Concurrent
2012-12-13 16:48 0Service Task public class ... -
JavaFX学习之Geometry
2012-12-13 16:45 0BoundingBox Bounds Dim ... -
JavaFX学习之Canvas
2013-01-15 16:20 4221Canvas and GraphicsContext ... -
JavaFX学习之Input
2012-12-13 16:39 0InputEvent Clipboard and ... -
JavaFX学习之Media
2012-12-13 16:32 0javafx支持视频和音频的播放,可以看media包下的 ... -
JavaFX学习之Paint
2012-12-13 16:29 0Paint Color ImagePatte ... -
JavaFX学习之Chart
2013-01-15 16:01 9211Chart 分piechart 和XYChart 再看看 ... -
JavaFX学习之Transform
2013-01-15 19:11 5551Transform为Node提供仿射变换,如旋转,尺度变 ... -
JavaFX学习之Effect
2013-01-14 15:53 1798Effect 抽象类,所有特殊效果的父类。 Ble ... -
JavaFX学习之Animation
2012-12-13 16:02 0Animation AnimationTimer ... -
JavaFX学习之Stage
2012-12-13 15:55 0Window Stage 刚开始的Stage由平 ... -
JavaFX学习之Web
2013-01-12 16:06 12606PopupFeatures 处理新窗口 WebHi ... -
JavaFX学习之Scene
2012-12-13 15:49 0Node setManaged(boolean va ... -
JavaFX学习之Layout
2013-01-15 16:03 12635Region 继承parent,被 ... -
JavaFX学习之Shape
2012-12-11 10:48 6074Shape 继承Node 方法 setFill(Pai ...
相关推荐
JavaFX学习资料总结
javaFx 学习--之布局菜单
最新的javaFX学习资料,相信javaFX必定成为主流。
javafx学习网站
JavaFX教程;JavaFX教程;JavaFX教程JavaFX教程;
JavaFX学习曲线日记
javaFx 学习--之Adding Dynamic Behavior(加动态特性源码)
NULL 博文链接:https://lujin55.iteye.com/blog/1709828
NULL 博文链接:https://lujin55.iteye.com/blog/1811244
javaFx 学习--之组件篇1(边框与布局管理1Label)
javaFx 学习--入门示例程序的源码
javafx语言中文教程,内附代码,有助于学习理解!
JavaFx 的官方入门教材,英文
javafx菜单之多级菜单1
学习JavaFX脚本语言
javafx学习资料,包括数据类型、操作符、函数等。
javafx
JavaFX+Jfoenix 学习笔记(一)--环境搭建及多款Hello World演示的源码 JavaFX的简单展示,主要是为了配合文章学习使用
javaFx资料.
JAVAFX第一张学习笔记,第一张的学习源代码!