まず、すべてのOracle Javaの記事とチュートリアルを約6回読んだので安心してください。そのため、支援できる場合は、Oracleページへのリンクを提供するよりもうまくやる必要があります。失礼に聞こえたらごめんなさい。
どうやら私は文字列がどのように機能するのかわかりません。4つのjButtonを取得して、押されたときに値を文字列に送信しようとしています。これにより、最後に押されたボタンのみがその(名前、テキスト、機能するもの)を文字列または値に記録し、連結できるようになります。 jLabelのメッセージの値。
したがって、ここには2つの問題があります。「ステータス」ボタンを正しく設定してはいけません。次に、値を取得してjLabelに配置できるようにする必要があります。
このスクリーンショットを見ると、私が立ち往生している場所がわかります:http: //krisbunda.com/gui2.png
4つの「ステータス」ボタン(「出荷済み」または「ロード済み」など)の1つの値ではなく、「null」と表示されている場所を確認します。
private void shippedButtonHandler(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
StringBuilder status = new StringBuilder(loadedButton.getText());
}
private void loadedButtonHandler(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
StringBuilder status = new StringBuilder(loadedButton.getText());
}
private void outReadyButtonHandler(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
StringBuilder status = new StringBuilder(outsideReadyButton.getText());
}
private void outNotReadyButtonHandler(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
StringBuilder status = new StringBuilder(outsideNotReadyButton.getText());
}
private void enterButtonHandler(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Confirmation.setVisible(true);
Confirmation.setBounds(300,200,900,400);
Confirmation.setModal(rootPaneCheckingEnabled);
confirmationLabel.setText("You are about to send this message:"
+ "\n #" + display.getText()+ " is currently " + status);
}
private void confirmationNoButtonHandler(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Confirmation.dispose();
}
どんな助けでも大歓迎です。
編集:
助けてくれてありがとう、これが私が「改行」問題のために考え出した回避策です:私は2つのJLabelを使用しました。
そしてそのようにコード化されます:
private void enterButtonHandler(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Confirmation.setVisible(true);
Confirmation.setBounds(200,300,1000,400);
Confirmation.setModal(rootPaneCheckingEnabled);
confirmationLabel1.setText("You are about to send this message:");
confirmationLabel2.setText("PS# " + display.getText()+ " is currently " + status);
}
「ホバークラフトがウナギだらけ」で答えられた修正を説明するためのコードスニペットを次に示します。
1.)非ローカル変数/文字列を追加します:
public class PlanterStatusUI extends javax.swing.JFrame
{
/** Creates new form PlanterStatusUI */
public PlanterStatusUI() {
initComponents();
}
public String status = new String(); {
}
2.)ボタンコードを変更します。
private void shippedButtonHandler(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
status = shippedButton.getText();
}