[英]Taking a Textfield input converting to an int and then limiting the value
因此,我試圖將Textfield輸入解析為一個int,然后按Enter。 如果該值介於1到50之間,則返回錯誤;否則返回我的程序的其余部分。 我目前正在測試,看看我是否可以使Action事件正常工作。
這就是我目前所擁有的。
我得到錯誤的操作數<=和>。 我不是在尋找任何人來解決這個問題,但是如果有人對我做錯的事情有任何鏈接或建議,將不勝感激。
公共無效init(){
setLayout( new FlowLayout());
label1= new JLabel( "Please enter number of rows" );
tf1= new JTextField(5);
String text = tf1.getText();
int first=Integer.parseInt(text);
add (label1);
add (tf1);
tf1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//System.out.println("Enter pressed");
if (e.getSource()<=20){
System.out.println("Correct");
}
else if (e.getSource()>20){
System.out.println("Try again");
}
}
});
}
您希望e.getSource()
是輸入的數字,但是您得到的是導致事件發生的TextField
。 您不能使用<
或類似方式將TextField
與數字進行比較。
由於您直接在TextField
上注冊了ActionListener
,因此不必檢查事件的來源。 您知道它將是TextField
。
您想做的是:
對於事件(僅當在TextField中發生操作時才調用actionPerformed()
),如果按下的鍵是Enter
,則從TextField
獲取數字並檢查其值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.