【发布时间】:2013-11-17 18:03:21
【问题描述】:
以下代码生成上面的图像。如您所见,相同颜色的粉红色在 JFrame 和 JButton 中的显示不同。我可以进行什么修复以使它们的颜色完全相同?
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.Border;
import javax.swing.border.CompoundBorder;
import javax.swing.border.EmptyBorder;
import javax.swing.border.LineBorder;
public class Testing extends JFrame {
public Testing() {
super("hi");
setBackground(Color.PINK);
JPanel panel = new JPanel();
JButton jb = new JButton();
jb.setText("Here I am");
Border line = new LineBorder(Color.PINK);
Border margin = new EmptyBorder(5, 15, 5, 15);
Border compound = new CompoundBorder(line, margin);
jb.setOpaque(true);
jb.setBorder(compound);
jb.setBackground(Color.PINK);
panel.add(jb);
add(panel);
setVisible(true);
}
public static void main(String[] args){
Testing t = new Testing();
}
}
【问题讨论】:
-
如需尽快获得更好的帮助,请发帖SSCCE。
-
@AndrewThompson 是我自己还是显示器的角度影响了颜色的感知?
-
@LittleChild 我的显示器角度改变了每一种颜色。 OTOH 从任何角度看,这些颜色看起来都不一样。
-
我认为我提供的示例代码是一个简短的、独立的、正确的示例?我错过了什么?
-
运行时问题的 SSCCE 在复制/粘贴到源文件并编译时应该可以干净地编译。代码 sn-p(没有导入)将无法编译。因此,代码 sn-p 不能是 SSCCE。我在我的回答中发布了一个 SSCCE。
标签: java swing jframe transparency jbutton