java中可以使用buffereader類來(lái)獲得控制臺(tái)輸入的回車鍵,示例如下:
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、虛擬空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、翔安網(wǎng)站維護(hù)、網(wǎng)站推廣。
import?java.io.BufferedReader;
import?java.io.InputStreamReader;
public?class?Test?{
public?static?void?main(String?args[])?throws?Exception?{
System.out.println("輸入:");
BufferedReader?bf?=?new?BufferedReader(new?InputStreamReader(System.in));
String?str?=?"";
do?{
str?=?bf.readLine();
if?(str.length()?==?0)?{?//?如果輸入的字符串為空,則說明只輸入了一個(gè)回車
System.out.println("輸入的是回車!");
}?else?{
System.out.println("輸入內(nèi)容是:"?+?str);
}
}?while?(str.length()?!=?0);
}
}
這樣可以在輸入回車后提示“輸入的是回車!”并結(jié)束程序
import?java.awt.*;
import?java.awt.event.*;
import?javax.swing.*;
public?class?KeyCharEx?extends?JFrame?{
JLabel?la?=?new?JLabel("Enter鍵換背景顏色");
KeyCharEx()?{
super("請(qǐng)按Enter鍵");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(new?FlowLayout());
this.add(la);
this.addKeyListener(new?MyKeyListener());//?整個(gè)界面添加鍵盤敲擊事件
setSize(250,?150);
setVisible(true);
}
class?MyKeyListener?extends?KeyAdapter?{
public?void?keyTyped(KeyEvent?e)?{//?應(yīng)該是這個(gè)方法?keyTyped?鍵盤按下,然后釋放
super.keyTyped(e);
int?r?=?(int)?(Math.random()?*?256);
int?g?=?(int)?(Math.random()?*?256);
int?b?=?(int)?(Math.random()?*?256);
switch?(e.getKeyChar())?{
case?'\n':
la.setText("r="?+?r?+?",g="?+?g?+?",b="?+?b);
getContentPane().setBackground(new?Color(r,?g,?b));
break;
case?'q':
System.exit(0);
}
}
}
public?static?void?main(String[]?args)?{
new?KeyCharEx();
}
}
使用的時(shí)候,只要將SwingUtils .enterPressesWhenFocused(JButton)這樣就可以實(shí)現(xiàn)回車時(shí)候,觸發(fā)按鈕。
另外文本輸入框回車觸發(fā)事件則是:SwingUtils .enterPressesWhenFocused(JTextField textField,ActionListener actionListener) 。其中actionListener是需要觸發(fā)的事件。
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JTextField;
import javax.swing.KeyStroke;
//SwingUtils 實(shí)用方法類
public class SwingUtils {
/**
* 對(duì)指定的button添加回車驅(qū)動(dòng)事件的功能
* @param button
*/
public static void enterPressesWhenFocused(JButton button) {
button.registerKeyboardAction(button.getActionForKeyStroke(KeyStroke
.getKeyStroke(KeyEvent.VK_SPACE, 0, false)),
KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0, false),
JComponent.WHEN_FOCUSED);
button.registerKeyboardAction(button.getActionForKeyStroke(KeyStroke
.getKeyStroke(KeyEvent.VK_SPACE, 0, true)),
KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0, true),
JComponent.WHEN_FOCUSED);
}
import java.io.IOException;
public class TestEnter {
public static void main(String[] args) throws IOException{
while(true){
if(System.in.read() == '\n')
System.exit(0);
}
}
}
'\r'是回車,'\n'是換行,前者使光標(biāo)到行首,后者使光標(biāo)下移一格。通常用的Enter是兩個(gè)加起來(lái)。下面轉(zhuǎn)一篇文章。
回車和換行
今天,我總算搞清楚“回車”(carriage return)和“換行”(line feed)這兩個(gè)概念的來(lái)歷和區(qū)別了。
在計(jì)算機(jī)還沒有出現(xiàn)之前,有一種叫做電傳打字機(jī)(Teletype Model 33)的玩意,每秒鐘可以打10個(gè)字符。但是它有一個(gè)問題,就是打完一行換行的時(shí)候,要用去0.2秒,正好可以打兩個(gè)字符。要是在這0.2秒里面,又有新的字符傳過來(lái),那么這個(gè)字符將丟失。
于是,研制人員想了個(gè)辦法解決這個(gè)問題,就是在每行后面加兩個(gè)表示結(jié)束的字符。一個(gè)叫做“回車”,告訴打字機(jī)把打印頭定位在左邊界;另一個(gè)叫做“換行”,告訴打字機(jī)把紙向下移一行。
這就是“換行”和“回車”的來(lái)歷,從它們的英語(yǔ)名字上也可以看出一二。
后來(lái),計(jì)算機(jī)發(fā)明了,這兩個(gè)概念也就被般到了計(jì)算機(jī)上。那時(shí),存儲(chǔ)器很貴,一些科學(xué)家認(rèn)為在每行結(jié)尾加兩個(gè)字符太浪費(fèi)了,加一個(gè)就可以。于是,就出現(xiàn)了分歧。
Unix系統(tǒng)里,每行結(jié)尾只有“換行”,即“\n”;Windows系統(tǒng)里面,每行結(jié)尾是“換行回 車”,即“\r\n”;Mac系統(tǒng)里,每行結(jié)尾是“回車”。一個(gè)直接后果是,Unix/Mac系統(tǒng)下的文件在Windows里打 開的話,所有文字會(huì)變成一行;而Windows里的文件在Unix/Mac下打開的話,在每行的結(jié)尾可能會(huì)多出一個(gè)^M符號(hào)。
c語(yǔ)言編程時(shí)(windows系統(tǒng))\r 就是return 回到 本行 行首 這就會(huì)把這一行以前的輸出 覆蓋掉
如:
int main() {
cout "hahaha" "\r" "xixi" ;
}
最后只顯示 xixi 而 hahaha 被覆蓋了
\n 是回車+換行 把光標(biāo) 先移到 行首 然后換到下一行 也就是 下一行的行首拉
int main() {
cout "hahaha" "\n" "xixi" ;
}
則 顯示
hahaha
一下是自己的總結(jié)。
/t相當(dāng)于鍵盤的Tab鍵,/n換行New Line,/r回車Carriage Return,基本的概念應(yīng)該是回車表示回到最前面,換行表示換一行。
操作系統(tǒng)的不同,換行符操也不同:
/r Mac
/n Unix/Linux
/r/n Windows
可以,你給frame添加一個(gè)addKeyListener()方法,實(shí)現(xiàn)keyPressed()方法時(shí)捕獲keyCode,查一下enter鍵的值,如果和你捕獲的相等,就執(zhí)行你要執(zhí)行的代碼
分享文章:java回車鍵代碼 java中回車
網(wǎng)頁(yè)URL:http://m.rwnh.cn/article18/doopogp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、小程序開發(fā)、網(wǎng)站建設(shè)、網(wǎng)站營(yíng)銷、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容