当前位置: 首页 > 知识库问答 >
问题:

SWT中的白色只读文本字段

董谦
2023-03-14

我正在尝试在SWT窗口中制作一个大的白色框来显示信息。我希望它看起来与标签不同,但我也希望它不可编辑。

到目前为止,我只能创建一个灰色背面(顶部)的中午可编辑输入框。我的目标是使用List(在Text下)获得的外观。

(< code>List的问题是它只能在每个列表项的一行上显示文本。我可能需要显示一段文字)。

共有3个答案

刘狐若
2023-03-14

您可以通过软件测试。READ_ONLY文本字段构造函数

谢宸
2023-03-14

如果您确实必须使用白色背景,则可以使用普通文本并阻止编辑它。

但是,正如@Eugene已经提到的,您应该坚持UI约定,因为否则可能会使用户感到困惑......

以下是一些创建只读文本的代码,背景为“普通”:

public static void main(String[] args)
{
    Display display = new Display();
    final Shell shell = new Shell(display);
    shell.setText("StackOverflow");
    shell.setLayout(new FillLayout());

    Text text = new Text(shell, SWT.BORDER);
    text.setText("Read only");

    text.addListener(SWT.Verify, new Listener()
    {
        @Override
        public void handleEvent(Event e)
        {
            e.doit = false;
        }
    });

    shell.pack();
    shell.setSize(600, 60);
    shell.open();
    while (!shell.isDisposed())
    {
        if (!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}
毕宏盛
2023-03-14

您还可以捕获键盘事件并阻止它们。

txtField.addKeyListener( new KeyAdapter() {
    public void keyPressed( KeyEvent e ) {
        e.doit = false;
    }
} );
 类似资料:
  • 为什么我的php文件没有突出显示html代码?它正在工作,但现在文本都是白色的。我尝试了一些技巧,比如重新安装更漂亮的插件和尝试删除冲突的插件。 我尝试引用此问题但没有运气:vscode 中的所有白色文本?

  • 任何人都可以帮我解决这个问题吗?我使用的是一次性小键盘主题,但它看起来像这样,js 或 ts 中的每个代码都有白色文本,但在其他代码中是正常的 在此处输入图像描述 我尝试过其他主题,但它总是这样显示我,js 和 ts 的文本颜色不会改变

  • 我试图从一个文件中读取每个月的平均降雨量,该文件如下所示: 1月3日2日21.2 3月2日

  • 只读字段用来保护某些特殊的字段值不被更改,这个字段的值一旦写入,就无法更改。 要使用只读字段的功能,我们只需要在模型中定义readonly属性: <?php namespace app\index\model; use think\Model; class User extends Model { protected $readonly = ['name', 'email']; } 例

  • 我遇到了一个棘手的问题。 在摆动环境中,有一个功能在AWT组件中可用文本区域。但是,这在 JFace 或 Swing 环境中都不存在。 有人想出解决办法吗?我必须自己制作界面吗? 提前谢谢

  • 问题内容: 我想将字典中特定字符串之后的所有行读到字典中。我想对数千个文本文件执行此操作。 我可以使用以下代码(从此答案中得到)识别并打印出特定的字符串(): 但是如何告诉Python开始读取仅在字符串之后的行? 问题答案: 当您到达要开始的行时,只需开始另一个循环即可: 文件对象是其自己的迭代器,因此当到达其中的行时,我们将从该行继续进行迭代,直到消耗完迭代器为止。 一个简单的例子: 产生: 您