Java Netbeans中如何获取单选按钮文本值并传递到其他表单标签
解决步骤
你之前的代码里调用RBYa.getText()/RBTidak.getText()时没有存储返回的文本值,所以无法在其他方法里复用该内容,可按以下两种方案实现需求:
方案1:直接在跳转逻辑中获取选中单选按钮文本
在BTNTampilActionPerformed方法的注释位置补充以下逻辑即可:
private void BTNTampilActionPerformed(java.awt.event.ActionEvent evt) { nota pindah=new nota(); pindah.LBJenis2.setText(CBJenis.getSelectedItem()+""); pindah.LBNama2.setText(TFNama.getText()); pindah.LBJumlah2.setText(TFJumlah.getText()); // 新增逻辑开始 String radioText; if(RBYa.isSelected()){ radioText = RBYa.getText(); } else if(RBTidak.isSelected()){ radioText = RBTidak.getText(); } else { radioText = "未选择配送服务"; // 可自定义未选中时的默认展示内容 } pindah.LBAntar2.setText(radioText); // 新增逻辑结束 pindah.LBTotal2.setText(TFTotal.getText()); pindah.setVisible(true); }
方案2:提前存储选中文本为类成员变量复用
如果该单选按钮文本需要在多个地方调用,可定义类成员变量存储值:
- 首先在当前类的属性区新增成员变量:
// 定义全局存储选中单选按钮文本的变量 private String selectedAntarText;
- 修改
btnHitungActionPerformed方法,在单选按钮选中时同时给成员变量赋值:
private void btnHitungActionPerformed(java.awt.event.ActionEvent evt) { if (RBYa.isSelected()){ LBAntar.setText("35000"); selectedAntarText = RBYa.getText(); } if(RBTidak.isSelected()){ LBAntar.setText("0"); selectedAntarText = RBTidak.getText(); } }
- 直接在跳转逻辑中调用该变量赋值:
pindah.LBAntar2.setText(selectedAntarText);
注意事项
建议将RBYa和RBTidak添加到同一个ButtonGroup组件中,确保同一时间只有一个单选按钮可被选中,避免出现两个按钮同时选中的逻辑异常。
内容的提问来源于stack exchange,提问作者Zack
相关产品推荐
相关产品推荐

