亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 Java 中使用 GUI 添加文本和刪除文本

如何在 Java 中使用 GUI 添加文本和刪除文本

Cats萌萌 2022-09-28 14:36:05
我正在創建一個啞手機(像舊的傳統手機一樣),我正在使用GUI編程。我需要有關撥打號碼的幫助。我不知道如何讓數字在顯示屏上彈出并停留在那里,并且還使用刪除按鈕刪除顯示屏上的數字。我將發布一個youtube鏈接,以便您可以看到示例運行。我目前被困在傳遞每個數字的按鈕的文本上,這些按鈕應該顯示數字,但是它顯示按鈕的文本。我也不知道當按下其他按鈕而不重置時,如何將號碼保留在那里。這是我的代碼:import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.Date;import javax.swing.*;public class DumbPhone extends JFrame{private static final long serialVersionUID = 1L;private static final int WIDTH = 300;private static final int HEIGHT = 500;private static final String CALL_BUTTON_TEXT = "Call";private static final String TEXT_BUTTON_TEXT = "Text";private static final String DELETE_BUTTON_TEXT = "Delete";private static final String CANCEL_BUTTON_TEXT = "Cancel";private static final String SEND_BUTTON_TEXT = "Send";private static final String END_BUTTON_TEXT = "End";private static final String CALLING_DISPLAY_TEXT = "Calling...";private static final String TEXT_DISPLAY_TEXT = "Enter text...";private static final String ENTER_NUMBER_TEXT = "Enter a number...";private JTextArea display;private JButton topMiddleButton;private JButton topLeftButton;private JButton topRightButton;private JButton[] numberButtons;private JButton starButton;private JButton poundButton;private boolean isNumberMode = true;private String lastPressed = "";private int lastCharacterIndex = 0;private Date lastPressTime;public DumbPhone(){    setTitle("Dumb Phone");    setSize(WIDTH, HEIGHT);    setDefaultCloseOperation(EXIT_ON_CLOSE);    createContents();    setVisible(true);    topLeftButton.setEnabled(false);}例如,如果我按下按鈕2,而不是給我“2”,它會給我<html><中心>2ABC</中心></html>因此,我需要幫助具有數字按鈕,當推送以顯示被推送的數字時。能夠刪除這些數字。下面是示例運行的鏈接:https://www.youtube.com/watch?v=evmGWlMSqqg&feature=youtu.be嘗試在 20 秒內開始播放視頻。
查看完整描述

2 回答

?
倚天杖

TA貢獻1828條經驗 獲得超3個贊

要刪除該號碼,可以使用標簽名稱。


查看完整回答
反對 回復 2022-09-28
?
汪汪一只貓

TA貢獻1898條經驗 獲得超8個贊

在基本級別上,您只想將“數字”與UI分開維護。這通常被稱為“模型”。該模型獨立于 UI 存在,并允許根據應用程序的需要以任意數量可能的方式表示模型。


在你的情況下,你可以使用鏈表、數組或其他一些簡單的基于順序的列表,但最簡單的可能是使用 ,因為它提供了你需要的功能(追加和刪除),并且可以非常簡單。StringBuilderString


因此,您需要做的第一件事是創建一個模型實例作為實例級字段;


private StringBuilder numbers = new StringBuilder(10);

這將允許訪問類實例內的任何位置的緩沖區。


然后,您需要更新模型...


else

{

    topLeftButton.setEnabled(true);

    if (e.getSource() instanceof JButton)

    {

        String text = numberButtons[lastCharacterIndex].getText();

        numbers.append(text);

    }

}

要刪除最后一個字符,您可以簡單地使用類似...


if (numbers.length() > 0) {

    numbers.deleteCharAt(numbers.length() - 1);

}

然后,當您需要時,您可以使用類似...


display.setText(numbers.toString());

現在,這只是基本概念,您需要將這些想法應用于您的代碼庫


查看完整回答
反對 回復 2022-09-28
  • 2 回答
  • 0 關注
  • 174 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號