編寫一個使用橢圓大小填充窗口的程序。即使窗口被調整大小,橢圓也會觸摸窗口邊界。如何在框架內調整大小和繪製組件
我有以下代碼:
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Ellipse2D;
import javax.swing.JComponent;
public class EllipseComponent extends JComponent {
public void paintComponent(Graphics g)
{
Graphics2D g2 = (Graphics2D) g;
Ellipse2D.Double ellipse = new Ellipse2D.Double(0,0,150,200);
g2.draw(ellipse);
g2.setColor(Color.red);
g2.fill(ellipse);
}
}
和主類:
import javax.swing.JFrame;
public class EllipseViewer {
public static void main(String[] args)
{
JFrame frame = new JFrame();
frame.setSize(150, 200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
EllipseComponent component = new EllipseComponent();
frame.add(component);
frame.setVisible(true);
}
}
回答你的問題:「我怎麼可以調整內部的的paintComponent框架「是**不要做**。欲瞭解更多信息,請參閱我的答案。另請注意,JFrame沒有paintComponent方法,但其繪製方法或JComponent的paintComponent方法也是如此。 –