• 大小: 4KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-02
  • 语言: Java
  • 标签: javafx  UDP  TCP  

资源简介

该系统由A、B、C三部分组成, 其中A为公交车查询客户端程序; B为公交查询服务程序,负责响应来自A的查询并接收由公交车模拟程序发送过来的当前到站信息; C为公交车模拟程序,能够模拟多辆公交车发送当前到站信息。 A、B之间采用TCP协议,B、C之间采用UDP协议 先运行server.java,之后运行server1.java,最后运行Client.java

资源截图

代码片段和文件信息

package A;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.util.Arrays;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.scene.Scene;
import javafx.scene.control.Alert;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.stage.Stage;

public class Client extends Application{
BorderPane root;
Socket socket;
DataInputStream dis;
DataOutputStream dos;
TextField text;
Button btn;
@Override
public void start(Stage stage) throws Exception {
socketInit();
root = new BorderPane();
text = new TextField();
text.setPrefColumnCount(28);
btn = new Button(“查询“);
HBox hbox1 = new HBox();
hbox1.getChildren().add(text);
hbox1.getChildren().add(btn);
root.setTop(hbox1);
Scene scene = new Scene(root 396 300);
stage.settitle(“公交车查询“);
stage.setScene(scene);
stage.show();
btn.setOnAction((ActionEvent e) ->{
String bus = text.getText().toString().trim();
String msg1 = getBusInfo(bus);
if(msg1.equals(“error“)){
Alert alert = new Alert(AlertType.INFORMATION);
            alert.titleProperty().set(“提示“);
            alert.headerTextProperty().set(“没有这条公交线路!“);
            alert.showAndWait();
}else{
String msg2 = getInfo();
String[] stations = msg1.split(“\r\n“);
String[] busInfo1 = msg2.split(“/“);
int[] busInfo = new int[4];
for(int i=0;i busInfo[i] = Integer.parseInt(busInfo1[i]);
}
Arrays.sort(busInfo);
HBox hbox = new HBox();
Label la = new Label();
la.setPrefSize(50 35);
hbox.getChildren().add(la);
int temp = 0;
for(int i=1;i<=stations.length;i++){
VBox vbox = new VBox();
Label l = new Label();
if(temp temp++;
Image image = new Image(“bus.png“);
l.setGraphic(new ImageView(image));
}
Label ll = new Label();
Label lll = new Label();
Label l1 = new Label(““+i);
Label l2 = new Label(“----“);
Label l3 = new Label(stations[i-1]);
vbox.getChildren().add(ll);
vbox.getChildren().add(l);
vbox.getChildren().add(lll);
vbox.getChildren().add(l1);
vbox.getChildren().add(l2);
vbox.getChildren().add(l3);
hbox.getChildren().add(vbox);
}
root.setCenter(hbox);
}
});
}
public static void main(String[] args) {
launch(args);
}
private void socketInit(){
try {
socket = new Socket(“localhost“ 9999);
dis = new DataInputStream(socket.getInputStream());
dos = new DataOutputStream(socket.getOutputS

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件         416  2019-04-09 18:48  新建文件夹\bus.png
     文件        3421  2019-04-09 20:14  新建文件夹\Client.java
     文件        1137  2019-04-09 19:32  新建文件夹\Server.java
     文件        2787  2019-04-09 20:30  新建文件夹\Server1.java

评论

共有 条评论