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

我正在创建一个哑手机(像旧的传统手机一样),我正在使用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><中心>2

ABC</中心></html>


因此,我需要帮助


具有数字按钮,当推送以显示被推送的数字时。

能够删除这些数字。

下面是示例运行的链接:https://www.youtube.com/watch?v=evmGWlMSqqg&feature=youtu.be


尝试在 20 秒内开始播放视频。


Cats萌萌
浏览 187回答 2
2回答

倚天杖

要删除该号码,可以使用标签名称。

汪汪一只猫

在基本级别上,您只想将“数字”与UI分开维护。这通常被称为“模型”。该模型独立于 UI 存在,并允许根据应用程序的需要以任意数量可能的方式表示模型。在你的情况下,你可以使用链表、数组或其他一些简单的基于顺序的列表,但最简单的可能是使用 ,因为它提供了你需要的功能(追加和删除),并且可以非常简单。StringBuilderString因此,您需要做的第一件事是创建一个模型实例作为实例级字段;private StringBuilder numbers = new StringBuilder(10);这将允许访问类实例内的任何位置的缓冲区。然后,您需要更新模型...else{&nbsp; &nbsp; topLeftButton.setEnabled(true);&nbsp; &nbsp; if (e.getSource() instanceof JButton)&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; String text = numberButtons[lastCharacterIndex].getText();&nbsp; &nbsp; &nbsp; &nbsp; numbers.append(text);&nbsp; &nbsp; }}要删除最后一个字符,您可以简单地使用类似...if (numbers.length() > 0) {&nbsp; &nbsp; numbers.deleteCharAt(numbers.length() - 1);}然后,当您需要时,您可以使用类似...display.setText(numbers.toString());现在,这只是基本概念,您需要将这些想法应用于您的代码库
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java