java - 多次使用样式化的 JTextfField? (java)

标签 java swing inheritance styles jtextfield

我想要 3 个不同的文本字段,它们应使用相同的样式,

txt = new JTextField();
txt.setText("Room floor number");
txt.setForeground(Color.WHITE);
txt.setEditable(false);
txt.setColumns(10);
txt.setBorder(null);
txt.setBackground(Color.GRAY);

现在我想要的是另一个文本字段,其中通过继承应用了这些设置? 就像在 CSS 中一样,您可以使用:

textfield textfield1 {
- code1 -
- code2 -
}
textfield textfield1 textfield2 {
- code3 -
}

不确定这是否正确,但你明白了, 这里textfield2获取code1和code2,然后添加(也可以替换)code3到textfield2。

所以基本上我想使用 txt 样式来表示 txt2 和 txt3。 我可以只 txt2 所有内容,但这现在不是最佳选择,不是吗? :D

最佳答案

是的,你可以,但不完全是你的想法。你至少有两个选择...

你可以

编写一个方法,该方法采用 JTextField 并应用您想要的更改...

public void applyFormat(JTextField field) {
    txt.setForeground(Color.WHITE);
    txt.setEditable(false);
    txt.setColumns(10);
    txt.setBorder(null);
    txt.setBackground(Color.GRAY);    
}

或者你可以

编写一个工厂方法,生成一个应用了所需格式的新 JTextField...

public JTextField createFormattedField() {
    JTextField txt = new JTextField();
    txt.setForeground(Color.WHITE);
    txt.setEditable(false);
    txt.setColumns(10);
    txt.setBorder(null);
    txt.setBackground(Color.GRAY);    
    return txt;
}

例如...

关于java - 多次使用样式化的 JTextfField? (java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20368068/

相关文章:

java - 如何在 JScrollPane 标题中禁用鼠标滚轮滚动?

Java Swing Group 的复选框多选处理程序

c++ - Visual Studio 2017 警告说异常被基类捕获,但事实并非如此

javascript - 我对javascript原型(prototype)继承的误解

java - 方法重写和继承

java - Android 中的搜索按钮功能

java - 需要同时迭代和修改 arraylist (或类似的)

java - 在EditText中输入数字会使应用程序崩溃

两秒后 Java GUI 变得马虎

java - 清除 JPanel