Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package test;
- import java.awt.*;
- import javax.swing.*;
- public class Draw {
- public static void main(String[] args) {
- JFrame frame = new JFrame("Draw test");
- frame.setLayout(new BorderLayout());
- frame.add(new MyPanel());
- frame.pack();
- frame.setLocationRelativeTo(null);
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame.setVisible(true);
- }
- static class MyPanel extends JPanel {
- int count = 24, size = 20;
- MyPanel() {
- setPreferredSize(new Dimension(count*size, size));
- }
- @Override
- public void paintComponent(Graphics g) {
- super.paintComponent(g);
- int startColor = 0x008000;
- int endColor = 0x0000FF;
- int startRed = (startColor >> 16) & 0xFF;
- int startGreen = (startColor >> 8) & 0xFF;
- int startBlue = startColor & 0xFF;
- int endRed = (endColor >> 16) & 0xFF;
- int endGreen = (endColor >> 8) & 0xFF;
- int endBlue = endColor & 0xFF;
- int steps = count;
- for (int i = 0; i < steps; i++) {
- int newRed = ((steps - 1 - i) * startRed + i * endRed) / (steps - 1);
- int newGreen = ((steps - 1 - i) * startGreen + i * endGreen) / (steps - 1);
- int newBlue = ((steps - 1 - i) * startBlue + i * endBlue) / (steps - 1);
- int result = newRed << 16 | newGreen << 8 | newBlue;
- g.setColor(new Color(result));
- g.fillRect(i*size, 0, size, size);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement