안녕하세요. 자바fx 과제 하는중 질문있습니다.(
조회수 728회
서버에서 받아오는 메시지를 Split으로 잘라 배열로 만든다음 배열 하나씩 Tableview 행에 넣는거 까지는 완성했습니다. 그리고나서 2번째행부터 그 후 오는 메시지를 행으로 표현할려고 for문을 사용해 봤으나 "For input string" 오류가 나네요 ㅠㅠ
메시지를 배열로 수신하여 여러 줄의 테이블 뷰에 추가하는 방법을 알수있을까요?
public void RPserch(ActionEvent event) throws Exception {
//중략//
in = cltSocket.getInputStream();
String strRcvMsg = "";
int nRcvLen = in.read(byteRBuff);
strRcvMsg = new String(byteRBuff, 0, nRcvLen, "EUC-KR");
Thread.sleep(500);
System.out.println(strRcvMsg);
String[] testmsg = strRcvMsg.split("&");
System.out.println(testmsg[1]);
int r = Integer.parseInt(testmsg[1]);
int j = 2;
ObservableList<Person> data = FXCollections.<Person>observableArrayList();
for (int k = 2; k < r; j++) {
data.add(new Person("", testmsg[j], testmsg[j + 1], testmsg[j + 2], testmsg[j + 3], testmsg[j + 4],testmsg[j + 5], testmsg[j + 6], testmsg[j + 7], testmsg[j + 8]));
j += 9;
}
remark.setCellValueFactory(cellData -> cellData.getValue().remarkProperty());
Purchplan.setCellValueFactory(cellData -> cellData.getValue().PurchplanProperty());
Producplan.setCellValueFactory(cellData -> cellData.getValue().ProducplanProperty());
itemname.setCellValueFactory(cellData -> cellData.getValue().itemnameProperty());
RPamount.setCellValueFactory(cellData -> cellData.getValue().RPamountProperty());
RPdate.setCellValueFactory(cellData -> cellData.getValue().RPdateProperty());
RPlocation.setCellValueFactory(cellData -> cellData.getValue().RPlocationProperty());
RPperson.setCellValueFactory(cellData -> cellData.getValue().RPpersonProperty());
buyer.setCellValueFactory(cellData -> cellData.getValue().buyerProperty());
condition.setCellValueFactory(cellData -> cellData.getValue().conditionProperty());
RPTableview.setItems(data);
} catch (Exception e) {
System.out.println("[EXP] Tableview " + e.getLocalizedMessage());
}
}
클래스입니다.
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty;
public class Person {
public SimpleStringProperty Purchplan;
public SimpleStringProperty Producplan;
public SimpleStringProperty itemname;
public SimpleStringProperty RPamount;
public SimpleStringProperty RPdate;
public SimpleStringProperty RPlocation;
public SimpleStringProperty RPperson;
public SimpleStringProperty buyer;
public SimpleStringProperty condition;
public SimpleStringProperty remark;
public Person(String remark, String Purchplan, String producplan, String itemname, String RPamount, String RPdate,
String RPlocation, String RPperson, String buyer, String condition) {
this.remark = new SimpleStringProperty(remark);
this.Purchplan = new SimpleStringProperty(Purchplan);
this.Producplan = new SimpleStringProperty(producplan);
this.itemname = new SimpleStringProperty(itemname);
this.RPamount = new SimpleStringProperty(RPamount);
this.RPdate = new SimpleStringProperty(RPdate);
this.RPlocation = new SimpleStringProperty(RPlocation);
this.RPperson = new SimpleStringProperty(RPperson);
this.buyer = new SimpleStringProperty(buyer);
this.condition = new SimpleStringProperty(condition);
}
// bom 검색
public StringProperty remarkProperty() {
return remark;
}
public StringProperty PurchplanProperty() {
return Purchplan;
}
public StringProperty ProducplanProperty() {
return Producplan;
}
public StringProperty itemnameProperty() {
return itemname;
}
public StringProperty RPamountProperty() {
return RPamount;
}
public StringProperty RPdateProperty() {
return RPdate;
}
public StringProperty RPlocationProperty() {
return RPlocation;
}
public StringProperty RPpersonProperty() {
return RPperson;
}
public StringProperty buyerProperty() {
return buyer;
}
public StringProperty conditionProperty() {
return condition;
}
}
요청하신 오류 메시지 입니다.
[DBG]----------------------------------------------------------------1
1002&2&RP_ID:RP5&DEP_ID:PD1&PD_NAME:연필&UNIT:ea&DATE:2020년 02월 21일&LOCATION:B00&NAME:황보승&TRADER:삼성&&
RP_ID:RP6&DEP_ID:PD2&PD_NAME:연필&UNIT:ea&DATE:2020년 04월 01일&LOCATION:A21&NAME:HHH&TRADER:삼성&&
※※※※※※※※※※※※
2
java.lang.NullPointerException
at Admin.RPserch(Admin.java:266)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)
at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1769)
at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1657)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Node.fireEvent(Node.java:8411)
at javafx.scene.control.Button.fire(Button.java:185)
at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:182)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:96)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:89)
at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Scene$MouseHandler.process(Scene.java:3757)
at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485)
at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:394)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:432)
at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:410)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:431)
at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
at com.sun.glass.ui.View.notifyMouse(View.java:937)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$3(WinApplication.java:177)
at java.lang.Thread.run(Thread.java:748)
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
댓글 입력