我有一个带有BorderLayout()的JFrame。在SOUTH Layout Constraint中,我想放一个进度条。不是动态的,而是一个不时被设置为值(0-100)的一个。 我想到了一个JPanel,我在其中绘制了一个具有适当宽度的Rectangle。 如何在JPanel中绘制一个矩形?
JFrame frame = new JFrame();
frame.setBounds(100, 100, 790, 539);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(new BorderLayout(0,0));
frame.setResizable(false);
JPanel panelSouth = new JPanel();
frame.getContentPane().add(panelSouth, BorderLayout.WEST);
我在想什么,也许我可以调整JPanel panelSouth
的大小。但是在Borderlayout中,它总是延伸到整个南方。
答案 0 :(得分:3)
不要从头开始,而是坚持使用JProgressBar
来简化事件编码。您可以在paint()
中的BasicProgressBarUI
方法的实现中绘制一个矩形,如此处所示,使用fillOval()
中的paintIndeterminate()
绘制椭圆。