【发布时间】:2015-01-21 08:14:31
【问题描述】:
我正在尝试将Rectangle 绘制到JPanel 的中心。我已经制作了这段代码,但是当我运行它时,矩形没有出现在面板中。如果我尝试使用JFrame,则会出现矩形。有人可以帮我吗?
RectangleTester
package eventi5;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class RectangleTester {
public static void main(String[] args) {
JFrame frame = new JFrame("Rectangle");
frame.setSize(250, 250);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final RectangleComponent component = new RectangleComponent();
frame.setVisible(true);
JPanel panel=new JPanel();
panel.add(component);
frame.add(panel);
}
}
RectangleComponent
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import javax.swing.JPanel;
public class RectangleComponent extends JPanel{
private Rectangle box;
public RectangleComponent(){
box=new Rectangle(10,20,30,40);
}
public void paintComponent(Graphics g){
Graphics2D g2=(Graphics2D) g;
g2.draw(box);
g2.setColor(Color.BLUE);
g2.fill(box);
}
}
【问题讨论】:
-
您可能需要设置
RectangleComponent的首选大小,以使其在其容器中占据适当的空间。
标签: java swing jpanel rectangles