- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用 UIManager 更改我的组件样式。
例如:
我单击一个按钮,按钮前景从黑色变为绿色。 JCheckbox 也是如此......
在我的示例中,更改仅适用于 Button.gradient
....我没有获得 Button.foreground
的更新,也没有获得 JCheckbox 的更新
!
这是我的 UIManagerClass:
package components;
import java.awt.Color;
import java.util.ArrayList;
import javax.swing.SwingUtilities;
public class OwnUiManager {
ButtonDemo Bd;
OwnUiManager(ButtonDemo aThis) {
Bd = aThis;
}
public void setNormal() {
ArrayList<Object> gradients = new ArrayList();
gradients.add(0.3);
gradients.add(0.0);
gradients.add(new Color(221, 232, 243));
gradients.add(new Color(255, 255, 255));
gradients.add(new Color(184, 207, 229));
javax.swing.UIManager.put("RadioButton.background", Color.PINK);
javax.swing.UIManager.put("Button.gradient", gradients);
javax.swing.UIManager.put("Button.foreground", Color.PINK);
SwingUtilities.updateComponentTreeUI(Bd);
}
public void setNightVision() {
System.out.println("Tes");
ArrayList<Object> gradients = new ArrayList();
gradients.add(0.18f);
gradients.add(0.17f);
gradients.add(Color.BLACK);
gradients.add(Color.DARK_GRAY);
gradients.add(Color.DARK_GRAY);
javax.swing.UIManager.put("RadioButton.background", Color.GRAY);
javax.swing.UIManager.put("Button.gradient", gradients);
javax.swing.UIManager.put("Button.foreground", Color.red);
SwingUtilities.updateComponentTreeUI(Bd);
}
}
这是我的 Buttondemo/Main-Class:
package components;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
public class ButtonDemo extends JPanel
implements ActionListener {
protected JButton b1,b2;
private JRadioButton b3;
public ButtonDemo() {
b1 = new JButton("ON");
b1.addActionListener(this);
add(b1);
b2 = new JButton("OFF");
b2.addActionListener(this);
add(b2);
//For Testing the Style
b3=new JRadioButton("Test");
add(b3);
}
public void actionPerformed(ActionEvent e) {
OwnUiManager test = new OwnUiManager(this);
if (e.getSource().equals(b1)) {
test.setNormal();
} else {
test.setNightVision();
}
}
private static void createAndShowGUI() {
JFrame frame = new JFrame("ButtonDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ButtonDemo newContentPane = new ButtonDemo();
newContentPane.setOpaque(true); //content panes must be opaque
frame.setContentPane(newContentPane);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
最佳答案
JCheckBox
/JRadioButton
有Icon
必须将自己的 Icon
更改为具体的 JCheckBox
/JRadioButton
或然后放入 UIManager
,然后申请整个JVM实例
更多信息请查看UIManager Defaults和 Key Bindings通过 camickr
您的大部分潜在问题都在 Creating a custom button in Java with JButton 中进行了描述
关于Java UIManager - 更改组件样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14583878/
此消息似乎某些包正在使用 UIManager["RCTView"] 不再受支持,但我不确定如何解决此问题 Accessing view manager configs directly off UIM
我正在尝试将 Nimbus LookandFeel 值覆盖到我的 Java Swing 应用程序。 当我尝试使用 UIManager.getLookAndFeelDefaults() 设置“nimbu
我已经安装了 react-navigation react-navigation react-native-gesture-handler 我正在使用 expo 在 xcode 模拟器上运行应用程序
我在我的 react native expo 应用程序中遇到了这个警告。我还附上了我的 package.json文件代码。请让我知道它的解决方案。谢谢 Accessing view manager c
我正在使用 this stackOverflow post 中的代码,这符合我的预期: Enumeration keys = UIManager.getDefaults().keys();
我收到以下警告“不再支持通过 UIManager['AIRMap'] 直接从 UIManager 访问 View 管理器配置。改用 UIManager.getViewManagerConfig('AI
我需要获取 TableHeader 和 Windows LookAndFeel 的默认背景颜色。我已经尝试过了: try { UIManager.setLookAndFeel(UIManage
我使用的是 Windows XP 外观。在包含按钮的面板上,按钮周围有一个矩形区域,看起来像经典按钮所占据的区域。该区域不符合我面板的颜色。例如,我将面板设置为蓝色,但按钮周围的区域仍然是白色的。那个
这个问题已经有答案了: 已关闭10 年前。 Possible Duplicate: Location of String keys in L&F 这是我的代码中的一行: UIManager.getSt
我正在试验 Java UIManager 和不同外观的使用。我很快发现,这不仅仅是在小程序开始时设置外观并奇迹般地看到 UI 产生的变化的问题。我发现的是,对于某些 LAF,我会发现奇怪的不可预测的行
我想使用 UIManager 更改我的组件样式。 例如: 我单击一个按钮,按钮前景从黑色变为绿色。 JCheckbox 也是如此...... 在我的示例中,更改仅适用于 Button.gradient
我见过人们使用 UIManager 来更改一些预先创建的 swing 组件(例如 JFileChooser)的字符串。 我在哪里可以找到某种引用,告诉我哪些字符串在哪些组件中是可变的,以及我如何访问它
我有一个 LoginScreen 和一个 MainWindow。当 DB 连接尝试成功时,出现 LoginScreen disposed 和 MainWindow。 我有一个按钮有 ActionLis
是否可以设置外观一次并将其“级联”到所有嵌套类? 在下面的示例中,我在类 Test 中设置了外观,但是我添加到 MainPanel 类中的 JFileChooser (嵌套在我的 Test 类中)不会
引用这个错误: 4848910 : UIManager only updates colors once 我的 JFrame 上有两个按钮。从第一个按钮开始,我将 LAF 颜色更改为 UIManage
我正在使用 UIManager 自定义一些 swing 组件,如下例所示, UIManager.put("TextField.background", COLOR_BG); UIManager.put
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
我尝试使用UIManager.setLookAndFeel函数来更改我的java应用程序的外观,但它对我的JFrame/按钮的视觉外观没有影响。我使用 Netbeans 7.4,我的应用程序是 Jav
是否可以覆盖特定对象的 UIManager 属性? 例如,我的 UI 管理器有 [Label.background] => (ColorUIResource) [javax.swing.plaf.Co
虽然有相关文档,但它仅适用于MacOS。Https://github.com/react-native-community/react-native-linear-gradient.。我通过运行NPM
我是一名优秀的程序员,十分优秀!