旋转JPanel有一个奇怪的问题。Java:JPanel边框旋转,但背景不是
JPanel pnlDummy = new javax.swing.JPanel()
{
@Override
public void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
g2d.rotate(17 * (Math.PI/180));
};
};
pnlDummy.setBackground(Color.red);
pnlDummy.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 153, 0), 4));
pnlDummy.setMinimumSize(new Dimension(200,100));
pnlDummy.setPreferredSize(new Dimension(200,100));
pnlDummy.setMaximumSize(new Dimension(200,100));
pnlParent.add(pnlDummy);
我有这样的:
相反,我想有红色背景旋转,就像边界一样。我错过了什么?谢谢!
您重写的'paintComponent(g)'控制'JPanel'内的绘画。 JPanel的布局不会改变,背景填充它。如果要更改背景的绘制方式,请在覆盖的'paintComponent(g)'中绘制它。如果你想改变'JPanel'在其父代中的绘制方式,则需要覆盖父代的'paintComponent(g)' – c0der
谢谢你,cOder。问题现在已经清楚了。目前还不清楚我怎样才能改变JPanel的布局,覆盖父面板的'paintComponent(g)'方法。谢谢! –
查看答案一些更多信息 – c0der