作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
JSpinner waitHr = new JSpinner();
waitHr.setEnabled(false);
我有一个微调器,我需要阻止用户临时编辑它。问题是,当微调器被禁用时,它的文本颜色使其很难阅读,这在这种情况下是 Not Acceptable 。我注意到您可以使用 JTextField
s 执行此操作:
JTextField txtTest = new JTextField();
txtTest.setDisabledTextColor(Color.BLACK);
是否有类似的东西可以用于 JSpinner?
最佳答案
你想怎么玩就怎么玩
import java.awt.*;
import javax.swing.*;
import javax.swing.border.LineBorder;
public class InactiveBackgroundTest {
public JComponent makeUI() {
JSpinner s0 = new JSpinner();
s0.setPreferredSize(new Dimension(100, 20));
s0.setEnabled(false);
UIManager.put("FormattedTextField.inactiveBackground", Color.RED);
JSpinner s1 = new JSpinner();
s1.setEnabled(false);
s1.setPreferredSize(new Dimension(100, 20));
JSpinner s2 = new JSpinner();
s2.setEnabled(false);
s2.setPreferredSize(new Dimension(100, 20));
JTextField field = ((JSpinner.NumberEditor) s2.getEditor()).getTextField();
field.setEditable(false);
field.setBackground(UIManager.getColor("FormattedTextField.background"));
JSpinner s3 = new JSpinner();
s3.setPreferredSize(new Dimension(100, 20));
s3.setEnabled(false);
s3.setBorder(null);
JTextField tf = ((JSpinner.DefaultEditor) s3.getEditor()).getTextField();
tf.setDisabledTextColor(Color.black);
tf.setBackground(Color.white);
tf.setBorder(new LineBorder(Color.blue, 1));
s3.setBorder(new LineBorder(Color.red, 1));
int n = s3.getComponentCount();
if (n > 0) {
Component[] components = s3.getComponents();
String compName = "";
for (int i = 0, l = components.length; i < l; i++) {
if (components[i] instanceof JButton) {
JButton button = (JButton) components[i];
if (button.hasFocus()) {
String btnMane = button.getName();
}
button.setBorder(new LineBorder(Color.red, 1));
System.out.println("JButton");
} else if (components[i] instanceof JComboBox) {
System.out.println("JComboBox");
} else if (components[i] instanceof JTextField) {
System.out.println("JTextField");
} else if (components[i] instanceof JFormattedTextField) {
System.out.println("JFormattedTextField");
} else if (components[i] instanceof JTable) {
System.out.println("JTable");
} else if (components[i] instanceof JScrollPane) {
System.out.println("JScrollPane");
} else if (components[i] instanceof JPanel) {
JPanel panel = (JPanel) components[i];
panel.setBackground(Color.red);
panel.setBorder(null);
System.out.println("JPanel");
}
}
}
JPanel p = new JPanel();
p.setBackground(Color.black);
p.add(s0);
p.add(s1);
p.add(s2);
p.add(s3);
return p;
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
createAndShowGUI();
}
});
}
public static void createAndShowGUI() {
try {
//UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
for (UIManager.LookAndFeelInfo laf : UIManager.getInstalledLookAndFeels()) {
if ("Windows".equals(laf.getName())) {
UIManager.setLookAndFeel(laf.getClassName());
}
}
} catch (Exception e) {
e.printStackTrace();
}
JFrame f = new JFrame();
f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
f.getContentPane().add(new InactiveBackgroundTest().makeUI());
f.setPreferredSize(new Dimension(120, 140));
f.setLocationRelativeTo(null);
f.pack();
f.setVisible(true);
}
}
关于java - 设置禁用的 JSpinner 的文本颜色(以使其更易于阅读),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6220872/
p { font-family: "Comic Sans",sans-serif; } #div1 { width: 7.5%; height: 100px;
我很快就会在费城的 Code Camp 上发表关于持续集成的演讲。我没有熔岩灯、环境球或其他任何东西的经验 - 但我认为这将是对演示的一个很好的补充,激发热情。 任何人都可以推荐一款非常易于设置/使用
我是一名优秀的程序员,十分优秀!