2016-04-13 31 views
1

我有一個按鈕上的if聲明,點擊按鈕會將JTextField更改爲£35.00。我也希望能夠使用JRadioButton,點擊後將JTextField更改爲70.00英鎊。更新按鈕上的JTextField按

代碼:

sesh1.addActionListener(e2->{ 
if (sesh1.isSelected()) 
tSesh1.setText("35.00"); 
}); 

tSesh1是文本字段。

另外:

//ActionListener for saving session info to text file 
JButton submitInvoice = new JButton ("Submit"); 
sPanel.add(submitInvoice); 
submitInvoice.addActionListener(e9->{ 
try{ 
BufferedWriter bw = new BufferedWriter(new FileWriter("RegInvoice_0to2.txt",true)); 
bw.write("---------------Booking Invoice---------------"); 
bw.write("\r\n"); 
bw.write("---------------0 To 2 Year Olds--------------"); 
bw.write("\r\n");  
bw.write("[Sessions Selected]"); 
bw.write("\r\n"); 
bw.write("All Day: £"); bw.write(tSesh1.getText()); 
bw.write(" On"); 
// 
//Displays the days selected for All Day Sessions 
if(mon1.isSelected()){ 
bw.write(" Monday"); bw.write(" "); 
tSesh1.setText("70.00"); // This wont change the text field 
} 

回答

0

我做這個小演示把你的句子相關JRadioButtons被選中,影響一個JTextField

它滿足您的要求。他們是你自己的句子。

我有一個if語句的按鈕,當點擊將更改 JTextField£35.00。我也希望能夠使用JRadioButton ,單擊時會將JTextField更改爲70.00英鎊。

import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JPanel; 
import javax.swing.JRadioButton; 
import javax.swing.JTextField; 
import javax.swing.SwingUtilities; 

public class JRadioTest extends JFrame { 

public JRadioTest() { 

    setSize(500,500); 
    setTitle("JRadioTest"); 
    setResizable(true); 

    initComponents(); 

    setVisible(true); 

} 

private void initComponents() { 

    JPanel panel = new JPanel(); 
    JLabel label = new JLabel("My text field"); 

    panel.add(label); 

    JTextField tSesh1 = new JTextField(20); 
    panel.add(tSesh1); 

    JRadioButton sesh1 = new JRadioButton("35.00"); 

    sesh1.addActionListener(e -> { 
      if (sesh1.isSelected()) { 
       tSesh1.setText("35.00"); 
      } 
    }); 

    panel.add(sesh1); 

    JRadioButton mon1 = new JRadioButton("70.00"); 
    panel.add(mon1); 

    JButton submitInvoice = new JButton("Submit"); 

    submitInvoice.addActionListener(e -> { 
     if (mon1.isSelected()) { 
       tSesh1.setText("70.00"); 
     } 
    }); 

    panel.add(mon1); 
    panel.add(submitInvoice); 

    this.add(panel); 

} 


public static void main(String args[]){ 

     SwingUtilities.invokeLater(new Runnable() { 
      public void run() { 
       new JRadioTest(); 

     } 
    }); 

} 

} 

測試它。

如果您的JTextField當您選擇mon1並按submitInvoice時未顯示「70.00」,可能是因爲嘗試寫入文件時引發異常。