确实.
只不过,相对于java语言的特色来讲,fx窗体界面还是值得怀念的.
java的一大经典特色,什么领域都要沾.
c#的winform能搞windows窗体应用程序,java的fx也能搞这个.
php能作为网站服务,java web也能作为网站服务.
html, css和javascript能在浏览器上渲染铺网页前端,想当年,java的htmlapplet标签也曾经近乎于做到了这一点,还有后来出现的jsp小脚本以及jstl标签库等亦如此.
objective-c或swift能作用在苹果移动端,java,groovy或kotlin能作用在安卓移动端.
c++通过amf3协议可以与swf文件做长连接主动推送数据,java也有amf3协议也轻松实现了这一条.
说用python可以写个 *** 数据爬虫,java也不成问题.
说matlab可以用于数学运算,结果,一些人有时候也会拿java做数学运算,毕竟java的Math库还是够大的.
说solidity的横空出世是作为以太坊的智能合约语言,而java声称自己能够和solidity完美对接.
3 billion devices run java, 这句话真不是盖的.
久而久之,java变得似乎是什么都能做,而什么都不专精.
尽管如此,fx还是长久地存在于我们的记忆里.
而且,在物联网项目中,同为长连接的协议,tcp/ip协议要比ws协议更方便地解决p2p对等 *** 通信,这时候,做一个虚拟硬件终端,可以看出来fx应用窗口软件反而比html网页好用得多.因为物联网项目和游戏项目,仍然要比web项目和web service项目复杂太多了.
直接写个 *** 吧:
private Node createCloseButton() {
closeButton = new Button("Close");
closeButton.setId("button-close");
closeButton.setOnAction(new EventHandlerActionEvent() {
@Override
public void handle(ActionEvent event) {
Platform.exit();
}
});
return closeButton;
}
private Node createMaximizeButton() {
Button maximizeButton = new Button("Maximize");
maximizeButton.setId("button-maximize");
maximizeButton.setOnAction(new EventHandlerActionEvent() {
@Override
public void handle(ActionEvent event) {
private void moveStage(MouseEvent me, Window primaryStage) {
if (maximized.get()) {
anchor.set(new Point2D(((me.getScreenX() - primaryStage.getX()) / primaryStage.getWidth()) * backupWindowBounds.get().getWidth(), me
.getScreenY() - screen.getVisualBounds().getMinY()));
primaryStage.setWidth(backupWindowBounds.get().getWidth());
primaryStage.setHeight(backupWindowBounds.get().getHeight());
maximized.set(false);
}
primaryStage.setX(me.getScreenX() - anchor.get().getX());
primaryStage.setY(me.getScreenY() - anchor.get().getY());
}
点击 ImageView 调整窗口。
Javafx几种典型的布局是FlowPane面板它采用的布局策略是,按照控件的添加次序按个摆放,按照从上到下,从左到右的次序摆放,当窗口的大小发生变化后,场景的大小也自动跟着变化,面板的大小也跟着变化,并且会重新计算各个控件的位置,重新摆放各个控件的位置,GridPane面板它采用的布局策略是,将整个面板划分为若干个格子,每个格子的大小是一样的,每个格子中可以放置一个控件,类似于表格的方式。
一般使用容器的窗口组件来完成
————————————
插入——布局 里面就可以改 06版cad有三个选项 之一个新建 输入布局名后 确认 就会以所画的图形的外轮廓为布局大小新建布局。 第二个是来自样板 那就样板文件内的布局是多大的了 第三个是创建布局向导 可以依自己的需要进行修改布局大小
private void clickShow(ActionEvent event) {
Stage stage = new Stage();
Parent root = FXMLLoader.load(
YourClassController.class.getResource("YourClass.fxml"));
stage.setScene(new Scene(root));
stage.setTitle("My modal window");
stage.initModality(Modality.WINDOW_MODAL);
stage.initOwner(
((Node)event.getSource()).getScene().getWindow() );
stage.show();
}
下面是一个实现dialog box
import javafx.stage.*; import javafx.scene.*;import javafx.scene.paint.Color;import javafx.scene.control.*;import javafx.event.ActionEvent;import javafx.event.EventHandler;public class ModalDialog {
Button btn;public ModalDialog(final Stage stg) {
btn = new Button();final Stage stage = new Stage();//Initialize the Stage with type of modalstage.initModality(Modality.APPLICATION_MODAL);//Set the owner of the Stage stage.initOwner(stg);
stage.setTitle("Top Stage With Modality");
Group root = new Group();
Scene scene = new Scene(root, 300, 250, Color.LIGHTGREEN);
btn.setOnAction(new EventHandlerActionEvent() {public void handle(ActionEvent event) {
stage.hide();
}
});
btn.setLayoutX(100);
btn.setLayoutY(80);
btn.setText("OK");
root.getChildren().add(btn);
stage.setScene(scene);
stage.show();
}
}import javafx.application.Application;import javafx.event.ActionEvent;import javafx.event.EventHandler;import javafx.scene.Group;import javafx.scene.Scene;import javafx.scene.control.Button;import javafx.scene.paint.Color;import javafx.stage.Stage;public class ModalTest extends Application {/**
* @param args the command line arguments
*/public static void main(String[] args) {
Application.launch(ModalTest.class, args);
}
@Overridepublic void start(final Stage primaryStage) {
primaryStage.setTitle("Hello World");
Group root = new Group();
Scene scene = new Scene(root, 500, 450, Color.LIGHTBLUE);
Button btn = new Button();
btn.setLayoutX(250);
btn.setLayoutY(240);
btn.setText("Show modal dialog");
btn.setOnAction(new EventHandlerActionEvent() {public void handle(ActionEvent event) {
ModalDialog md = new ModalDialog(primaryStage);
}
});
root.getChildren().add(btn);
primaryStage.setScene(scene);
primaryStage.show();
}
}
(来源:法在玉林) 原标题:帮人“洗钱”赚佣金!玉州警方破获一起帮助信息网络犯罪活动案 犯罪嫌疑人在一个叫“天天向上”的网络平台上各自注册了账号,通过充值获积分→接单→收款(微信或支付宝)→扣积分...
说到韩国的饮食文化,相信大部分朋友第一个想到的就是韩货辣白菜了,酸酸甜甜十分的下饭,由辣白菜衍生的各种菜谱也是非常的丰富,比如辣白菜炒饭、辣白菜豆腐汤、辣白菜炒牛肉,那么韩国大白菜怎么腌制最好吃呢?韩...
所谓超预期,绝非是将产物的实际体验高出预期,而是让用户对方针产物的预期高出用户的既定预期。 海底捞的处事是最好的吗?假如是,有五星级旅馆的处事还好吗?假如不是,那为什么都在疯传海底捞的处事好到失常呢...
黑客有什么客 强制封别人微信号手机版(若何强制修改微信号) 远程黑客若何获得管理员权限 黑客教你定位IP(黑客ip) 证券信息挂号怎么防止黑客 手机防黑客平安防御系统(黑客定...
楼主.很认真的跟你说.你仔细看看它们发的网站.都是收费的!邀请码什么的.咱们都是为了学习技术.不要成了它们赚钱的机器!我推荐给你一个免费的.技术又。 黑客基地到我们的网站来学习吧,适合未接触过的新手。...
成都商务小学妹在线预约价格【陶丹】,上海是一座成功人士的聚集地,对商业模特的需求也是比较大的,今天明星商务分享模特访梦,年龄北京 男 37,婚姻:未婚,学历:高中,气质:成都商务小学妹在线预约价格寻找...