我想在我的游戲中實(shí)現(xiàn)網(wǎng)絡(luò)功能,但是我有一個(gè)很大的問題。當(dāng)我嘗試創(chuàng)建 JFrame 組件時(shí),在執(zhí)行網(wǎng)絡(luò)代碼后,它總是顯示為白屏。雖然網(wǎng)絡(luò)工作正常,但我無法讓 UI 以任何方式工作。這是網(wǎng)絡(luò)代碼:package progtech2bea;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.net.InetAddress;import java.net.ServerSocket;import java.net.Socket;public class NetworkController implements Runnable {public Main base;private MainMenu mm;private String ip;private int port = 22222;public int pnum;private Thread thread;private Socket socket;private DataOutputStream os;private DataInputStream is;private ServerSocket serversocket;private int errcount = 0;private boolean commerror;private boolean client;private boolean accepted = false;public void beginServer(String ip, MainMenu mm){ this.ip = ip; this.mm = mm; if (!connect()) { initalizeServer(); pnum = 1; } else { pnum = 2; } thread = new Thread(this, "WaterWar"); thread.run();}@Overridepublic void run() { while (true) { tick(); //m.repaint(); if (!client && !accepted) { listenServerRequest(); } }}private boolean connect() { try { socket = new Socket(ip, port); os = new DataOutputStream(socket.getOutputStream()); is = new DataInputStream(socket.getInputStream()); accepted = true; mm.dispose(); base.showMain(); base.moveToP2StartView(); System.out.println("Successfully connected"); } catch (IOException e) { System.out.println("No active server, initalizing new one"); return false; } return true;}如果網(wǎng)絡(luò)代碼沒有運(yùn)行,jFrame 工作得非常好。以下不起作用,它在單獨(dú)的類中被調(diào)用://the jFrame component initalizing all the UI elements insideMain m = new Main(jTextField1.getText(),jComboBox1.getSelectedIndex());//calls the NetworkController's beginServer() method, trying to establish //connection/start a servernc.beginServer(jTextField2.getText(),this);有什么問題?
網(wǎng)絡(luò)代碼執(zhí)行后的 Java UI 白屏
翻翻過去那場(chǎng)雪
2022-11-02 15:55:50