簡體   English   中英

框架未全屏顯示

[英]Frame doesn't show in full-screen

我對全屏有問題:我創建了一個框架並將其放在全屏窗口中,但是除了框架背景的顏色外,我什么也看不到。

這是我使用的代碼:

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);
}

永遠不會讓它繪制自己的內容,而只是着色的矩形。

所以我的建議是:

  1. 不要重寫JFrame的paint方法-這會引起很多問題
  2. 只需將主容器面板背景設置為所需的顏色
  3. 首先嘗試不帶全屏窗口的框架,看看它是否顯示您需要的內容

我認為您誤解了Window的“所有者”的目的。

JFrameWindow擴展。

所以,不用說

win = new Window(frame);
gs.setFullScreenWindow(win);

您只需要使用

gs.setFullScreenWindow(frame);

哦,Mikle也說了什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM