Java JFrame部分透明
我正在分析图表中最短方式和最简单方式之间的差异。为了简化,我创建了一个非常简单的JFrame,用于可视化图形和方式。如图所示,背景似乎部分透明。我不知道原因 (很抱歉,但我还不能上传图片) 绘画方法有问题吗?这个问题只发生在我的私人笔记本电脑上。我正在使用java 1.7.0_45 我没有对背景色或透明度进行任何更改。绘制方法仅绘制字符串、椭圆和线Java JFrame部分透明,java,swing,jframe,Java,Swing,Jframe,我正在分析图表中最短方式和最简单方式之间的差异。为了简化,我创建了一个非常简单的JFrame,用于可视化图形和方式。如图所示,背景似乎部分透明。我不知道原因 (很抱歉,但我还不能上传图片) 绘画方法有问题吗?这个问题只发生在我的私人笔记本电脑上。我正在使用java 1.7.0_45 我没有对背景色或透明度进行任何更改。绘制方法仅绘制字符串、椭圆和线 public Drucker(Graph graph) { super(); this.graph = graph; set
public Drucker(Graph graph) {
super();
this.graph = graph;
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
@Override
public void paint(Graphics g) {
for (int i = 0; i < this.graph.getKanten().size(); i++) {
xxx
}
for (int i = 0; i < this.graph.getKnoten().size(); i++) {
xxx
}
this.paintDistance(g);
}
公共德鲁克(图形){
超级();
this.graph=图形;
setDefaultCloseOperation(关闭时退出);
}
@凌驾
公共空间涂料(图g){
for(int i=0;ipaint()
方法
这仅仅意味着写下:
@Override
public void paint(Graphics g) {
super.paint(g);
// your code goes here
}
当您超级构造方法时,这基本上意味着您将绘制父对象,然后绘制字符串
这只是一种预感。让我知道这是否真的解决了您的问题。这是一个好的预感,我还担心OP首先会覆盖
paint
,但也可能覆盖顶级容器的paint
。您是对的。这就是问题所在。也许我无意中删除了这行。谢谢,祝您度过愉快的一天。使用super()
表示法调用超级构造函数不同于使用super.foo()
表示法调用超级方法。后者与在对象上构造无关。