网站建设彩票网品牌策划方案
把socket通信改成了分成短连接和长连接,登录前的所有操作都是短连接,每次都关闭连接,如果登录成功了就保持该socket连接,登录成功之后的所有操作,修改资料,发信息等都用该socket,
服务端和客户端对于登录成功后的操作基本一致,都是保持该socket不关闭,进入新的线程。
listview
ListView 是 JavaFX 中一个常用的组件,用于显示一个可滚动的列表。它的每一个 item 可以是一个字符串、图像、按钮、复选框等控件。
使用 ListView 可以很方便地实现很多 UI 组件,例如邮件列表、联系人列表、音乐列表等。
-
创建一个 ListView 组件。
ListView<String> listView = new ListView<String>();
-
通过 setItems() 方法设置列表项的内容。
ObservableList<String> items = FXCollections.observableArrayList("Apple", "Banana", "Cherry", "Grape", "Orange" ); listView.setItems(items);
-
处理列表项点击事件。
listView.getSelectionModel().selectedIndexProperty().addListener((ObservableValue<? extends Number> ov, Number old_val, Number new_val) -> {System.out.println("Selected item: " + items.get(new_val.intValue()));} );
-
设置列表项的可视化。
listView.setCellFactory(param -> new ListCell<String>() {@Overrideprotected void updateItem(String item, boolean empty) {super.updateItem(item, empty);if (empty || item == null) {setText(null);} else {setText(item);setGraphic(null);}} });
其中,第 3 步中代码可以处理当用户单击列表项时调用的方法。在此示例中,当用户单击任何列表项时,都将在控制台输出选择的项。
第 4 步代码是一个自定义的 ListCell,用于将列表项可视化。使用 setCellFactory() 方法添加一个 CellFactory,将每个列表项呈现为 ListCell。在此示例中,每一个列表项只是一个普通的字符串,因此我们只需将其设置为 ListCell 的文本即可。