我正在开发一个客户端服务器应用程序,服务器向客户端发送一些东西,客户端可以看到显示在 GUI 中的项目。我可以从服务器完美地发送所有内容,以显示在客户端的 JTextarea 上。但是,我面临的一个问题是在客户端显示日期,我在 GUI 的文本区域中收到一个长文本,看起来像 java.util.Gregeon CalenderCalender[time?= etc..... 在所有文本之后,我仍然可以在文本区域的底部看到日期,但它的格式不正确。
这是客户端代码的一部分,用于处理从服务器接收信息并将信息显示到 GUI 上。
public void displayItems()
{
Integer itemNumber = networkInput.nextInt();
networkInput.nextLine();
//String bidTime = networkInput.next();
//= networkInput.next();
DefaultListModel<String> lmdl = new DefaultListModel<String>();
for(int i=0; i<itemNumber; i++)
{
String itemCode = networkInput.nextLine();
String itemName = networkInput.nextLine();
String itemDescription = networkInput.nextLine();
String date = networkInput.nextLine();
System.out.println(date);
int hrs = Integer.parseInt(date.substring(0,2));
int mins = Integer.parseInt(date.substring(3,5));
Items item = new Items(itemCode,itemName,itemDescription, hrs, mins);
itemList.add(item);
lmdl.addElement(item.getItemCode());
}
ItemList.setModel(lmdl);// Add to List
}
class ButtonHandler implements ActionListener
{
private Object sel;
public void actionPerformed(ActionEvent e)
{
int selectedIx = ItemList.getSelectedIndex();
String bid = txtBidAmount.getText();
System.out.println("Sending the bid for " + itemList.get(selectedIx).getItemCode() + " for " + bid);
output.println("bid");
output.println(itemList.get(selectedIx).getItemCode());
output.println(bid);
String serverResponce = networkInput.nextLine();
System.out.println(serverResponce);
if(serverResponce.contains("success"))
{
//display sucess
JOptionPane.showMessageDialog(frame,"Bid accepted");
}
else
{
JOptionPane.showMessageDialog(frame,"low bid");
}
}
}
class RefreshListner implements ListSelectionListener{
//String date = networkInput.nextLine();
@Override
public void valueChanged(ListSelectionEvent arg0) {
Integer IDx = ItemList.getSelectedIndex();
text.setText(itemList.get(IDx).getName()+ "\n" + itemList.get(IDx).getDescription() + itemList.get(IDx).getDeadline());
}
}
}