旋转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);
我有这个:
相反,我希望红色背景像边框一样旋转。我错过了什么?谢谢!
答案 0 :(得分:1)
你覆盖的paintComponent(g)
控制JPanel内部的绘画
JPanel
的布局不会改变,背景会填充它。
如果要更改背景的绘制方式,请在覆盖的paintComponent(g)
中绘制它。
如果您想更改JPanel
在其父级中的绘制方式,则需要覆盖父级paintComponent(g)
。
(重写paintComponent(g)
表示您覆盖布局管理器定义的布局。