ラジオボタンの選択に基づいてテキストボックスの編集可能なオプションを設定したいですか?ラジオボタンでアクションリスナーをコーディングする方法は?ラジオボタンのアクションリスナー
5
A
答えて
2
5
私のJavaは少し錆びですが、これはあなたが探しているものでなければなりません。ここで
は、あなたのリスナーです:
private RadioListener implements ActionListener{
private JTextField textField;
public RadioListener(JTextField textField){
this.textField = textField;
}
public void actionPerformed(ActionEvent e){
JRadioButton button = (JRadioButton) e.getSource();
// Set enabled based on button text (you can use whatever text you prefer)
if (button.getText().equals("Enable")){
textField.setEditable(true);
}else{
textField.setEditable(false);
}
}
}
そして、ここではそれをセットアップするコードです。
JRadioButton enableButton = new JRadioButton("Enable");
JRadioButton disableButton = new JRadioButton("Disable");
JTextField field = new JTextField();
RadioListener listener = new RadioListener(field);
enableButton.addActionListener(listener);
disableButton.addActionListener(listener);
6
これは私がこの場合に使用する解決策です。
//The text field
JTextField textField = new JTextField();
//The buttons
JRadioButton rdbtnAllowEdit = new JRadioButton();
JRadioButton rdbtnDisallowEdit = new JRadioButton();
//The Group, make sure only one button is selected at a time in the group
ButtonGroup editableGroup = new ButtonGroup();
editableGroup.add(rdbtnAllowEdit);
editableGroup.add(rdbtnDisallowEdit);
//add allow listener
rdbtnAllowEdit.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
textField.setEditable(true);
}
});
//add disallow listener
rdbtnDisallowEdit.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
textField.setEditable(false);
}
});
0
この質問に対する別の回答です。 zalpha314の答えからちょっとしたコードを修正してください。
このボタンのテキストで選択されているラジオボタンを知ることができます。また、アクションコマンドで選択することもできます。オラクルのラジオ・ボタンのデモ・コードhttp://docs.oracle.com/javase/tutorial/uiswing/examples/components/RadioButtonDemoProject/src/components/RadioButtonDemo.javaでは、アクション・コマンドの使用方法を学びました。
まず、そうでactionPerformedで、あなたはアクションコマンドを得ることができ、ボタン
JRadioButton enableButton = new JRadioButton("Enable");
enableButton.setActionCommand(ON);
JRadioButton disableButton = new JRadioButton("Disable");
disableButton.setActionCommand(OFF);
にアクションコマンドを追加し
final static String ON = "on"
final static String OFF = "off"
2つのアクションコマンドを定義します。
public void actionPerformed(ActionEvent e){
String ac = e.getActionCommand();
if (ac.equals(ON)){
textField.setEditable(true);
}else{
textField.setEditable(false);
}
}
button.getText()
が非常に長い文字列の場合は、操作コマンドが優れている可能性があります。
関連する問題
- 1. ラジオボタンのアクションリスナーを呼び出すことができません
- 2. アクションリスナー
- 3. アクションリスナー
- 4. Javaアクションリスナー
- 5. Javaアクションリスナー
- 6. コンストラクタのアクションリスナー
- 7. アクションリスナーのアクションリスナーエラー
- 8. JButton配列のアクションリスナー
- 9. Java GUI、JFrame、アクションリスナー
- 10. Array Listアクションリスナー
- 11. Javaハングマンプロジェクト:アクションリスナー
- 12. グリッドボタンとアクションリスナー
- 13. アクションリスナーとイベントソース
- 14. Javaアプレット:nonameのボタンのアクションリスナー
- 15. タブ上にjavaアクションリスナー
- 16. Javaの主要アクションリスナーSwing
- 17. アンドロイドの動的ボタンとアクションリスナー
- 18. アクションリスナーが発砲しない
- 19. スクロールペイン内のすべてのチェックボックスのアクションリスナー?
- 20. アクションリスナーの設定と背景の変更
- 21. 1つのアクションリスナー、2つのJButton
- 22. メインクラスのアクションリスナーとjframeを再利用
- 23. メソッドエラー内のアクションリスナーでJFrameを閉じる
- 24. アクションリスナーを別のクラスに移動
- 25. のJava:mulipleコンボボックスに同じアクションリスナーを追加
- 26. カスタムボタンクラスでアクションリスナーを定義する
- 27. コードネームoneアクションリスナーが動作しません
- 28. アクションリスナーをプログラムで設定する
- 29. JComboBoxにアクションリスナーを追加する
- 30. 画像にアクションリスナーを追加する
javaチュートリアル:http://docs.oracle.com/javase/tutorial/uiswing/components/button.htmlおよびhttp://docs.oracle.com/javase/tutorial/uiswing/events/actionlistenerを参照してください。 html? – DNA
この質問は、研究の不足から典型的です –
'JCheckbox'はもっとaproposのようです。 – trashgod