我有一个程序,它在全屏独占模式的JFrame运行。 我试图改变JFrame的亮度。 我想知道我怎么会实现这一点。 我想这可能是可以改变图像的所有颜色越来越绘制到JFrame,使他们更亮,但它仍然没有改变屏幕实际上有多亮。 如何计划正常实施这样的事情。
Answer 1:
在您的平局循环的结尾:
g.setColor(new Color(0, 0, 0, 0.5f)); // 50% darker (change to 0.25f for 25% darker)
g.fillRect(0, 0, width, height);
Answer 2:
我不知道这是否是最好的方式,但它的工作原理。 覆盖public void paint(Graphics g)
的JPanel的方法,那么首先调用super.paint(g);
和油漆它上面的透明的黑色矩形。
事情是这样的:
private static Color BG = new Color(0, 0, 0, 100);
@Override
public void paint(Graphics g) {
super.paint(g);
g2.setColor(BG);
g.fillRect(0, 0, getWidth(), getHeight());
g.dispose();
}
更改颜色以新的价值,而不是100来改变黑暗。
文章来源: Change brightness of jframe