4

我正在编写套接字编程。它具有用于服务器和客户端的 GUI。在服务器 GUI 中有一个文本字段,显示用户请求的单词。但是我在显示这个词时遇到了问题。

我努力了

txtWord.setText(sentword);

它没有在文本字段中显示单词。但是当我写这个

txtWord.setText(sentword);
JOptionPane.showMessageDialog(null, "the requesed word is: "+sentword);

然后它在文本字段中显示该单词,并在消息框中显示它。

我试过 repaint() 但它不起作用。请尽快给我一些解决方案

4

2 回答 2

9

正如@BinyaminSharet 正确评论的那样,您在 Swing 问题中遇到了并发问题。

txtWord.setText(sentword);
JOptionPane.showMessageDialog(null, "the requesed word is: "+sentword);

into invokeLater(),但在这种情况下,您的 GUI 将无响应MouseKeyboard事件,直到Socket(在您的情况下)结束

于 2012-09-23T06:23:30.840 回答
-1

txtWord.requestFocus(); textField 直到窗口在 textField 上方并返回或获得焦点时才会显示,直到单击它。所以...只是请求焦点。

此外,如果您在创建时设置,请检查文本大小。如果大小不匹配,有时不会显示文本,例如:txtWord.setSize(200, 24);

于 2012-09-23T06:34:18.617 回答