Я уже получил это: https://i.stack.imgur.com/4o9GN.png Пока все хорошо, теперь я хочу узнать, как мне нужно изменить программу, чтобы сделать ее изменяемой. Пока только две половинки всегда прилипают к сторонам и раздвигаются.
Вот мой текущий код:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.geom.*;
public class Program extends JFrame
{
DrawStuff pn1 = new DrawStuff();
public Program ()
{
setTitle("Program");
setSize(516,500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
add(pn1, BorderLayout.CENTER);
setLocationRelativeTo(null);
setVisible(true);
setResizable(true);
}
public static void main(String[] args) {
new Program();
}
private class DrawStuff extends JPanel {
public void paintComponent(Graphics g){
int w = this.getWidth();
int h = this.getHeight();
Graphics2D graph2 = (Graphics2D)g;
int y = h;
int x = w - 10;
int bluerects = 0;
int greenrects = 0;
int re = 0, gr = 0, bl = 0;
while (bluerects < 26)
{
Shape drawRect2 = new Rectangle2D.Float(x,y,10,h);
graph2.setColor(new Color(re,gr,bl));
graph2.fill(drawRect2);
x = x - 10;
y = y - 16;
bluerects++;
if(gr == 240) gr = 0;
else gr = gr + 30;
}
x = 0;
y = h;
gr = 0;
while (greenrects < 25)
{
Shape drawRect3 = new Rectangle2D.Float(x-10,y,10,h);
graph2.setColor(new Color(re,gr,bl));
graph2.fill(drawRect3);
x = x + 10;
y = y - 16;
greenrects++;
if (bl == 240) bl = 0;
else bl = bl + 30;
}
}
}
}
Спасибо за помощь. :)