首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java AWT Button 監聽器與隊列操作實現指南

     編輯:程式設計綜合問答

需求場景

點擊按鈕獲取文本框內容,將字符按先進先出(FIFO)或先進後出(LIFO)順序重新填入文本框。圖片展示介面佈局:

實現步驟

  1. 建立 Button 並註冊 ActionListener。
  2. 監聽器中獲取 TextField 文本,轉為 char[] 或 String[]。
  3. 根據需求選擇資料結構:
    • FIFO:Queue<Character> q = new LinkedList<>(),q.add() 入隊,q.poll() 出隊。
    • LIFO:Stack<Character> s = new Stack<>(),s.push() 入棧,s.pop() 出棧。
  4. 將取出的字符拼接並 setText 回文本框。

核心代碼片段

button.addActionListener(e -> {
    String text = textField.getText();
    Queue<Character> queue = new LinkedList<>();
    for (char c : text.toCharArray()) queue.add(c);
    StringBuilder sb = new StringBuilder();
    while (!queue.isEmpty()) sb.append(queue.poll());
    textField.setText(sb.toString());
});

注意事項

  • AWT 事件處理執行於 EDT(事件分發執行緒),耗時操作需放入背景執行緒避免界面凍結。
  • 字符處理時注意 Unicode 補充字符(Emoji 等)可能佔用兩個 char,建議用 codePoints() 處理。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved