我对全屏有问题:我创建了一个框架并将其放在全屏窗口中,但是除了框架背景的颜色外,我什么也看不到。
这是我使用的代码:
PB frame = new PB();
win = new Window(frame);
gs.setFullScreenWindow(win);
frame.setVisible(true);
frame.repaint();
win.repaint();
和PB类,我的框架是:
public class PB extends JFrame
{
PB()
{
super();
this.setBackground(Color.BLUE);
this.getContentPane().add(new JButton("button"));
JPanel jp = new JPanel();
jp.setBackground(Color.red);
jp.setSize(360, 200);
this.getContentPane().add(jp);
this.setVisible(true);
repaint();
pack();
}
@Override
public void paint(Graphics g)
{
Graphics2D g2d = (Graphics2D)g;
g2d.setPaint(new Color(0,0,0));
g.fillRect(0,0,200,200);
}
}
因此,我所看到的就是一个带有背景色(这里是蓝色)的大屏幕;
谢谢大家的帮助
最佳答案
我敢打赌,您没有单独尝试过镜框,对吗?
框架代码的这一部分:
public void paint(Graphics g)
{
Graphics2D g2d = (Graphics2D)g;
g2d.setPaint(new Color(0,0,0));
g.fillRect(0,0,200,200);
}
永远不会让它绘制自己的内容,而只是着色的矩形。
所以我的建议是:
不要重写JFrame的paint方法-它将引起很多问题
只需将主容器面板背景设置为所需的颜色
首先尝试不带全屏窗口的框架,看看它是否显示您需要的内容