私はクライアントサーバーアプリケーションに取り組んでいます。これにより、サーバーはクライアントにいくつかのものを送信し、クライアントはGUIに表示されるアイテムを見ることができます。サーバーからすべてを完全に送信して、クライアント側の JTextarea に表示できます。しかし、私が直面している問題の 1 つは、クライアントに日付を表示することです。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());
}
}
}