package GUI;
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JPanel;
public class ColorPanel extends JPanel {
/**
*
*/
private static final long serialVersionUID = 1L;
public ColorPanel(Color col){
this.setBackground(col);
}
public ColorPanel(Color col , int width,int height){
this.setPreferredSize(new Dimension(width,height));
this.setBackground(col);
}
}
我的问题在于这一行:“setPreferredSize(new Dimension(width,height))
”
为什么我要编写new Dimension
以及为什么我不能只写出类似的内容
“setPreferredSize(width,height)
”请帮助并告诉我为什么我需要说new Dimension
。
答案 0 :(得分:0)
因为你正在调用Jpanel的setPreferredSize函数(通过超类),它只接受Dimension作为输入http://docs.oracle.com/javase/7/docs/api/javax/swing/JComponent.html#setPreferredSize(java.awt.Dimension)
HTH,
答案 1 :(得分:0)
JPanel确实有一个setPreferredSize(Dimension d)
其背后的原因是,当用户明确使用setPreferredSize(d)时,它的行为会有所不同
如果您没有设置JPanel.isPreferredSizeSet()
,则可以检查是否会返回null
将首选大小设置为null
可恢复默认行为
绘制JPanel及其内容时,此行为会影响Swing布局和GUI。