小编fla*_*and的帖子

为<html> JRadioButton设置默认禁用字体颜色

我有一个带有一些文本的JRadioButton,包含html代码.当我将其设置为禁用时,文本颜色不会更改为灰色或其他内容.如何将其设置为默认禁用的组件文本颜色?我可以直接在文本中设置文字颜色,如:

<html><font color=someColor>...
Run Code Online (Sandbox Code Playgroud)

但是如何获取禁用的组件文本的默认颜色?此外,我试图覆盖绘制方法,并使用这样的东西:

Graphics2D g2 = (Graphics2D) g.create();
g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.35f));
super.paintComponent(g2);
g2.dispose();
Run Code Online (Sandbox Code Playgroud)

但我没有得到预期的结果 - 它变成灰色,但与默认禁用的组件文本颜色不同.

因此,解决方案可能是从UIManager.getColor("ComboBox.disabledForeground")获取禁用的颜色; 导致此属性在所有Os中可用.以下是代码:

import javax.swing.*;
import java.awt.*;

public class HTMLJRadio extends JRadioButton {

static String prefixEnabled = "<html><body style='color: black;'>";
String text;
String prefixDisabled;

HTMLJRadio(String text) {
    super(prefixEnabled + text);
    this.text = text;
    Color c = UIManager.getColor("ComboBox.disabledForeground");
    String color = Integer.toHexString(c.getRed()) +
            Integer.toHexString(c.getGreen()) +
            Integer.toHexString(c.getBlue());
    prefixDisabled = "<html><body style='color: #" + color + ";'>";
}

public void setEnabled(boolean enabled) {
    super.setEnabled(enabled);
    if (enabled) {
        setText(prefixEnabled …
Run Code Online (Sandbox Code Playgroud)

java swing

5
推荐指数
1
解决办法
2792
查看次数

在JPanel中自动循环滚动活动内容 - 选取框文本

我需要一些自动循环滚动(字幕文本)它的内容JPanel.内容必须在鼠标点击不同元素时作出反应.因此,只需绘制移动坐标不能在此处工作的内容,因为元素的实际位置不会改变.它也必须能够更新.最有可能的是它将是平滑更新 - 没有任何弹跳.试图使用JScrollPane没有可见的滚动和自动滚动,它可以保持动作侦听器,但我不能使它顺利循环和平滑更新内容.

更新它应该是这样的:

http://h1.flashvortex.com/display.php?id=2_1311593920_25605_144_0_700_30_6_1_92

但是从代码修改内容,而不停止动画和弹跳.

java swing jpanel jscrollpane

2
推荐指数
1
解决办法
1073
查看次数

摆动步进式光标移动

我有java swing chess应用程序.游标具有自定义视图 - 矩形,大小适合整个单元格.我需要光标只在整个单元格上移动.不在一个细胞的范围内.这个问题有一些典型的解决方案吗?或者也许可以设置标准的java功能步进式光标移动?

在此输入图像描述

java graphics swing paintcomponent mouselistener

2
推荐指数
1
解决办法
384
查看次数