只是想知道是否可以将一个类中的jTextArea追加到一个单独的类中?我基本上有一个简单的类,该类会不断运行计算,并且我想在自己的类中创建的GUI上查看输出。该程序可以通过System.out.println执行良好,但是我现在想在我的textarea上查看它。在此先感谢您的指导。
已更新-以下代码是我正在运行的代码。问题区域如下(这是一个很大类的方法):
System.out.println("From Server:" + sentenceFromServer);
我希望将此输出写入单独的jTextArea,它位于下面的类之下的另一个类中。
客户类别
public void run() {
SocketForm form = new SocketForm();
//File file=null;
long startTime; // Starting time of program, in milliseconds.
long endTime; // Time when computations are done, in milliseconds.
double time;
System.out.println("Variables Set");
String serverName = "localhost";
try {
//if (args.length >= 1)
// serverName = args[0];
InetAddress serverIPAddress = InetAddress.getByName(serverName);
//get server port;
int serverPort = form.cliportNo;
//if (args.length >= 2)
// serverPort = Integer.parseInt(args[1]);
//create socket
DatagramSocket clientSocket = new DatagramSocket();
//get input from keybaord
byte[] sendData = new byte[byteSize];
//BufferedReader inFromUser = new BufferedReader(new InputStreamReader (System.in));
//while (true){
//String sentence = inFromUser.readLine();
startTime = System.currentTimeMillis();
//sendData = sentence.getBytes();
System.out.println("About to identify image");
String fileName = "/Users/Andrew/Desktop/pic.jpg";
File f = new File(fileName);
FileInputStream fis = null;
try {
fis = new FileInputStream(f);
System.out.println("Total file size to read in bytes is : " + fis.available());
} catch (IOException e) {}
Path path = Paths.get("/Users/Andrew/Desktop/pic.jpg");
//byte[] data = Fles.readAllBytes(path);
sendData = Files.readAllBytes(path);
try {
for( int index = 0; index < sendData.length ; index += byteSize ) {
DatagramPacket packet = new DatagramPacket( sendData, index, Math.min( byteSize, sendData.length-index ), serverIPAddress, serverPort);
clientSocket.send(packet);
//DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, serverIPAddress, serverPort);
//receive datagram
byte[] receiveData = new byte [byteSize];
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
clientSocket.receive(receivePacket);
//print output
String sentenceFromServer = new String(receivePacket.getData());
System.out.println("From Server:" + sentenceFromServer);
}
System.out.println("The End");
}
catch (Exception e) {}
//close client socket
//clientSocket.close();
endTime = System.currentTimeMillis();
time = endTime - startTime;
System.out.println("Time :" + time);
// }
}
catch (Exception e) {}
}
SocketForm类(GUI)
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(SocketForm.class.getName()).log(java.util.logging.Level.SEV
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new SocketForm().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTabbedPane jTabbedPane1;
public static javax.swing.JTextArea jTextArea1;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
// End of variables declaration
}
意见建议:
public void appendText(String text)
该方法将文本String附加到JTextArea。SwingWorker<Void, String>
和使用发布/处理方法对从服务器到JTextArea中发送字符串,秋千上 é 通风口 d ispatch 牛逼 hread或EDT。catch (IOException e) {}
。这相当于闭眼驾驶摩托车。是的,乍一看似乎很有趣,但是它几乎总是结局很差。编辑
您的状态:
“如果如您所说仅适合在EDT上运行它,那么如何在已经运行的线程中定义它呢?”
我知道两种方式:
SwingUtilities.invokeLater(...)
方法的Runnable内。我有一个由两个gradle项目组成的项目,在构建中定义如下。格雷德尔档案。 和 问题是,我不能从客户端模块中导入任何在核心模块中定义的类。然而,反过来也行。这可能是因为我们提到了编译项目(:客户端)作为“核心”模块的依赖项。当我把编译项目(: core)作为客户端模块的依赖项时,IntelliJ允许我将核心模块中的类导入客户端。然而,gradle随后正确地声称这两个模块之间存在循环构建依赖关系。
想象一下下面的scanario:我有一个程序,它要求输入一个整数,然后是一个String输入。 根据aobe代码,我没有机会输入姓名。因此,通常我会声明2个扫描仪对象,如下所示: 我的问题是:有必要声明多个扫描仪对象来接受不同类型的输入吗??我这样做是正确的吗? 我已经考虑这个问题很多年了。(SO中的几个问题提到了多扫描仪,但他们的问题只使用了一个扫描仪对象,所以我今天问这个问题。)
问题内容: 这是我正在使用的结构: 我想要做的就是在script.py中定义的类进口和。如果我做: 对于中定义的类,它工作正常。但是使用此解决方案时,如果在不同文件中定义了许多类,并且我想导入所有这些类,则必须为每个文件键入一行。必须有一个捷径。我试过了: 但这没有解决。 编辑 :这是文件的内容: 这是(按照Apalala的建议使用): 这是: 这是: 这是: 这是我尝试运行时得到的跟踪: 问题答
假设我有一个,我想把它写到多个BigQuery表中,为每个选择一个可能不同的表。 如何使用Apache BeamAPI来完成此操作?
我正在与发布者和订阅者制作聊天应用程序,我有两个类,一个是聊天框架,一个是聊天成员类。成员类从jtext field获取消息,聊天成员发布者将其发送回jtext Area。 我很难从订阅者MessageListener获取返回到jtext区域的文本 谢谢。
对于下面的代码,我得到了不同的输出 输出为: 现在美国/洛杉矶是GMT-8/UTC-8或PST。但当我将参数从GMT-8改为America/Los_Angeles时, 输出为: 不能使用类似PST的缩写,因为它已被弃用。同时,CST可以指中央标准时间和中国标准时间。 我的输入是-8、-9-14等,我希望在GMT/UTC之前知道我是否可以在给定日期获得DST激活。 请在这方面指导我。