我們剛剛從僅使用AWT的Java編程GUI開始。我的任務是繪製一個橢圓並將其與標籤一起顯示。不知何故,我無法弄清楚如何同時顯示它們。只要我添加同時顯示標籤和形狀
add(label);
我的程序只顯示標籤。 那是到目前爲止我的代碼...
import java.awt.*;
public class Ellipse extends Frame{
public static void main (String args[]) {
new Ellipse("Ellipse");
}
public void paint(Graphics g){
Graphics shape = g.create();
shape.setColor(Color.black);
shape.fillRect(100,80,100,40);
shape.setColor(Color.red);
shape.fillOval(100,80,100,40);
}
Ellipse(String s){
super(s);
setLocation(40,40);
setSize(300,300);
setBackground(Color.white);
Font serif = new Font("Serif", 1, 10);
setFont(serif);
Label label = new Label("Ellipse 1",1);
add(label);
setVisible(true);
}
}
的實際任務是繪製一個橢圓,填充黑色的背景,並把下面的標籤。除了我的問題之外,是否有可能用顏色填充橢圓的背景,而不是首先繪製一個單獨的矩形?
而不是使用繪畫,你應該使用paintComponent。查看[執行自定義繪畫](http://docs.oracle.com/javase/tutorial/uiswing/painting/) – MadProgrammer
爲什麼選擇AWT而不是Swing?在[Swing extras over AWT]上看到這個答案(http://stackoverflow.com/a/6255978/418556)有很多很好的理由放棄使用AWT組件。如果您需要支持較老的基於AWT的API,請參閱[混合重量級和輕量級組件](http://www.oracle.com/technetwork/articles/java/mixing-components-433992.html)。 –