私はRS-232シリアル経由で取得したデータを区切るプログラムを作成しています。プログラムがデータを受信するために必要な3つのマシンと、3つのCOMポートがあります。Java JTextAreaが更新されていません
プログラムインターフェイスのJTextAreaを更新して、プログラムが現在リッスンしているポートについてユーザーに通知するコードを作成しましたが、テキストエリアはコードに基づいて更新されず空白のままです。コードは次のような次のとおりです。
public String ComStat;
public void comDefine()
{
if (Serial.currPortId.getName() == null) {
ComStat = "NONE";
} else if (Serial.currPortId.getName() == "COM1") {
ComStat = "COM1";
} else if (Serial.currPortId.getName() == "COM2") {
ComStat = "COM2";
} else if (Serial.currPortId.getName() == "COM3") {
ComStat = "COM3";
} else {
ComStat = "NONE";
}
}
とJTextAreaのために、私たちは持っている:
private JPanel createPanel(String text) {
JPanel panel = new JPanel();
JLabel lbl = new JLabel(text);
panel.add(lbl);
listenState = new JTextArea(ComStat);
listenState.setBorder(new BevelBorder(BevelBorder.LOWERED));
listenState.setLineWrap(true);
listenState.setWrapStyleWord(true);
add(listenState, BorderLayout.SOUTH);
panel.add(listenState);
return panel;
}
実際に、それは次のようになりリッスンのポートとどのポートでリッスンしていますかどうかを表示するようにJTextAreaのを得る上の任意のヘルプとても有難い。私は実際に問題を抱えている領域の読み込みを容易にするためにコードの大部分を切り捨てました。
あなたのテキスト領域を更新するコードはありません。これはそれを作成するコードです。 COMポートから読み込むコードはなく、バイナリデータをテキストエリアにテキストを付加するコードやコードに変換するコードはありません。 –
listenState.setText(ComStat);を使用して[Javaの文字列を比較するにはどうすればいいですか?](https://stackoverflow.com/q/513832/8097737) – devpuh