确实.
只不过,相对于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();
}
}
吃西餐怎么拿刀叉(吃西餐时如何正确使用刀叉?)吃西餐时如何正确使用刀叉? 现在越来越多的都市白领或是学生喜欢到高级餐厅去聚餐,这时候,餐桌的礼仪就很重要了,今天小编跟大家说下,西餐厅中刀叉是怎么...
主机箱前边耳机没声音解决方案: 因为许多电脑操作系统自身默认设置的音频特性设定中默认设置的是"禁止使用前板插口检验" 因而许多盆友说我从未去设定过音频新项目也存有电脑前面耳机插孔没有声音的状况,因此当...
商标是品牌在成立的时候必须要申请的一种服务标志,品牌若是不申请商标,很容易被侵权。因此几乎每个品牌成立的时候,都要申请专属于自己的商标。那么对于商标的申请来说,究竟如何申请自己的商标呢?另外申请商...
好友误删聊天记录怎么恢复(删除好友后恢复聊天记录)苹果百思特网手机如何恢复微信聊天记录?删除的聊天记录怎么恢复?在有了智能机为前天下,目前用户基本上都在使用社交软件来进行信息传递,微信就是其中的一种,...
1.第一种手机基站定位,为模拟定位。用的是三角定位的方法。公安局定位车也是这个道理不断的移动达到三角精确定位加水平测距。比基站定位准确多了,现在的误差低于15米,水平测距也就是高度测距。可以知道你在几...
前两年有一首歌十分的受欢迎,歌名字叫做《咖喱,咖喱》,它是一首很欢快的歌曲,听见这歌的人,情绪都是会觉得舒适。实际上,咖喱是一种酱汁,主要是用多种多样香辛料配制而成的,在中国的中国台湾是能够看到的...