簡體   English   中英

setBackground在applet背景上不起作用

[英]setBackground doesn't work on applet background

我不認為這是重復的,因為其他問題與JButtons和JPanels有關。

我想知道為什么Java中的以下內容無法像人們想象的那樣工作:

import javax.swing.JApplet;
import java.awt.*;

public class Example extends JApplet
{
     public void paint(Graphics page)
     {
        setBackground (Color.cyan);
     }
}

基本上,當我運行小程序時,無論顏色如何,背景都不會改變。 我意識到還有其他選項可以達到相同的效果,但是我使用的是教科書中的示例,並且想知道為什么它在我的計算機上不起作用。

但我正在使用教科書中的示例

擺脫課本。 永遠不要重寫JApplet的paint()方法(這是一種古老的AWT技術,不與Swing一起使用)。

Swing中的Applet就像Swing中的應用程序一樣。 您將組件添加到小程序的內容窗格。 通過重寫JPanel(或JComponent)的paintComponent()方法,然后將面板添加到內容窗格中,可以完成自定義繪制(如果需要)。

如果要更改小程序的背景,則可以更改內容窗格的背景(或添加到內容窗格的CENTER的面板的背景)。 就像是:

getContentPane().setBackground( Color.CYAN );

該代碼將在init()方法中執行。

首先閱讀Swing教程 有關於How to Make Applets和“執行自定義繪畫”的部分。

暫無
暫無

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

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