编写一个使用椭圆大小填充窗口的程序。即使窗口被调整大小,椭圆也会触摸窗口边界。如何在框架内调整大小和绘制组件
我有以下代码:
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方法也是如此。 –