Skip to content

Instantly share code, notes, and snippets.

@rpmcdougall
Last active September 25, 2020 02:45
Show Gist options
  • Save rpmcdougall/6037db492324e3eba22d2facf435f350 to your computer and use it in GitHub Desktop.
Save rpmcdougall/6037db492324e3eba22d2facf435f350 to your computer and use it in GitHub Desktop.
import javax.swing.*;
import java.awt.*;
public class FlowerPanel extends JPanel {
int width = 1024;
int height = 768;
public FlowerPanel() {
setBorder(BorderFactory.createLineBorder(Color.BLUE));
}
@Override
public Dimension getPreferredSize() {
if (isPreferredSizeSet()) {
return super.getPreferredSize();
} else {
return new Dimension(width, height);
}
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
//cone flower
g.setColor(Color.GREEN);
g.fillRect(130, 180,8,350);
g.setColor(Color.RED);
g.fillOval(165, 170, 20, 100);
g.fillOval(135, 170, 20, 100);
g.fillOval(105, 170, 20, 100);
g.setColor(Color.ORANGE);
g.fillOval(150,170,20,100);
g.fillOval(120,170,20,100);
g.fillOval(90, 170, 20, 100);
g.setColor(Color.BLACK);
g.fillOval(130, 100, 20, 20);
g.fillOval(125, 110, 20, 20);
g.fillOval(145, 110, 20, 20);
g.fillOval(120, 130, 20, 20);
g.fillOval(130, 130, 20, 20);
g.fillOval(140, 130, 20, 20);
g.fillOval(110, 140, 20, 20);
g.fillOval(120, 140, 20, 20);
g.fillOval(130, 140, 20, 20);
g.fillOval(145, 140, 20, 20);
g.fillOval(100, 150, 20, 20);
g.fillOval(110, 150, 20, 20);
g.fillOval(120, 150, 20, 20);
g.fillOval(130, 150, 20, 20);
g.fillOval(140, 150, 20, 20);
g.fillOval(150, 150, 20, 20);
g.fillOval(100, 150, 20, 20);
g.fillOval(110, 150, 20, 20);
g.fillOval(120, 150, 20, 20);
g.fillOval(130, 150, 20, 20);
g.fillOval(140, 150, 20, 20);
g.fillOval(150, 150, 20, 20);
g.fillOval(100, 150, 20, 20);
g.fillOval(110, 150, 20, 20);
g.fillOval(120, 150, 20, 20);
g.fillOval(130, 150, 20, 20);
g.fillOval(140, 150, 20, 20);
g.fillOval(150, 150, 20, 20);
g.fillOval(100, 150, 20, 20);
g.fillOval(110, 150, 20, 20);
g.fillOval(120, 150, 20, 20);
g.fillOval(130, 150, 20, 20);
g.fillOval(140, 150, 20, 20);
g.fillOval(150, 150, 20, 20);
g.fillOval(130, 110, 20, 20);
g.fillOval(125, 110, 20, 20);
g.fillOval(135, 110, 20, 20);
g.fillOval(120, 130, 20, 20);
g.fillOval(130, 130, 20, 20);
g.fillOval(140, 130, 20, 20);
g.fillOval(110, 140, 20, 20);
g.fillOval(120, 140, 20, 20);
g.fillOval(130, 140, 20, 20);
g.fillOval(145, 140, 20, 20);
g.fillOval(100, 150, 20, 20);
g.fillOval(110, 150, 20, 20);
g.fillOval(120, 150, 20, 20);
g.fillOval(130, 150, 20, 20);
g.fillOval(140, 150, 20, 20);
g.fillOval(150, 150, 20, 20);
g.fillOval(100, 150, 20, 20);
g.fillOval(110, 150, 20, 20);
g.fillOval(120, 150, 20, 20);
g.fillOval(130, 150, 20, 20);
g.fillOval(140, 150, 20, 20);
g.fillOval(150, 150, 20, 20);
g.fillOval(100, 150, 20, 20);
g.fillOval(110, 150, 20, 20);
g.fillOval(120, 150, 20, 20);
g.fillOval(130, 150, 20, 20);
g.fillOval(140, 150, 20, 20);
g.fillOval(130, 150, 20, 20);
g.fillOval(100, 150, 20, 20);
g.fillOval(110, 150, 20, 20);
g.fillOval(120, 150, 20, 20);
g.fillOval(130, 150, 20, 20);
g.fillOval(140, 150, 20, 20);
g.fillOval(150, 150, 20, 20);
g.fillOval(130, 110, 20, 20);
g.fillOval(125, 120, 20, 20);
g.fillOval(135, 120, 20, 20);
g.fillOval(120, 130, 20, 20);
g.fillOval(130, 130, 20, 20);
g.fillOval(140, 130, 20, 20);
g.fillOval(110, 140, 20, 20);
g.fillOval(120, 140, 20, 20);
g.fillOval(130, 140, 20, 20);
g.fillOval(145, 140, 20, 20);
g.fillOval(100, 150, 20, 20);
g.fillOval(110, 150, 20, 20);
g.fillOval(120, 150, 20, 20);
g.fillOval(130, 150, 20, 20);
g.fillOval(140, 150, 20, 20);
g.fillOval(150, 150, 20, 20);
g.fillOval(100, 150, 20, 20);
g.fillOval(110, 150, 20, 20);
g.fillOval(120, 150, 20, 20);
g.fillOval(130, 150, 20, 20);
g.fillOval(140, 150, 20, 20);
g.fillOval(150, 150, 20, 20);
g.fillOval(100, 150, 20, 20);
g.fillOval(110, 150, 20, 20);
g.fillOval(120, 150, 20, 20);
g.fillOval(130, 150, 20, 20);
g.fillOval(140, 150, 20, 20);
g.fillOval(150, 150, 20, 20);
g.fillOval(100, 150, 20, 20);
g.fillOval(110, 150, 20, 20);
g.fillOval(120, 150, 20, 20);
g.fillOval(130, 150, 20, 20);
g.fillOval(140, 150, 20, 20);
g.fillOval(150, 150, 20, 20);
g.fillOval(90, 160, 20, 20);
g.fillOval(100, 160, 20, 20);
g.fillOval(110, 160, 20, 20);
g.fillOval(120, 160, 20, 20);
g.fillOval(130, 160, 20, 20);
g.fillOval(140, 160, 20, 20);
g.fillOval(150, 160, 20, 20);
g.fillOval(160, 160, 20, 20);
g.fillOval(90, 160, 20, 20);
g.fillOval(100, 160, 20, 20);
g.fillOval(110, 160, 20, 20);
g.fillOval(120, 160, 20, 20);
g.fillOval(130, 160, 20, 20);
g.fillOval(140, 160, 20, 20);
g.fillOval(150, 160, 20, 20);
g.fillOval(160, 160, 20, 20);
g.fillOval(90, 160, 20, 20);
g.fillOval(100, 160, 20, 20);
g.fillOval(110, 160, 20, 20);
g.fillOval(120, 160, 20, 20);
g.fillOval(130, 160, 20, 20);
g.fillOval(140, 160, 20, 20);
g.fillOval(150, 160, 20, 20);
g.fillOval(160, 160, 20, 20);
g.fillOval(90, 160, 20, 20);
g.fillOval(100, 160, 20, 20);
g.fillOval(110, 160, 20, 20);
g.fillOval(120, 160, 20, 20);
g.fillOval(130, 160, 20, 20);
g.fillOval(140, 160, 20, 20);
g.fillOval(150, 160, 20, 20);
g.fillOval(160, 160, 20, 20);
//pansy
g.setColor(Color.GREEN);
g.fillRect(590, 380, 20, 250);
g.fillOval(590, 480, 150, 50);
g.fillOval(455, 520, 150, 50);
g.setColor(Color.ORANGE);
g.fillArc(515, 280, 120, 120, 100, 100);
g.fillArc(560, 332, 120, 120, 275, 100);
g.setColor(Color.YELLOW);
g.fillArc(515, 330, 120, 120, 160, 100);
g.fillArc(560, 280, 120, 120, 365, 100);
g.setColor(Color.RED);
g.fillRect(565, 280, 65, 70);
g.fillRect(515, 330, 65, 70);
g.fillRect(565, 382, 65, 70);
g.fillRect(615, 330, 65, 70);
g.setColor(Color.BLACK);
g.fillOval(572, 340, 50, 50);
//rose
g.setColor(Color.GREEN);
g.fillArc(3400, 480, 20, 40, 140, 80);
g.fillArc(340, 520, 20, 40, 140, 80);
g.fillArc(340, 540, 20, 40, 140, 80);
g.fillArc(340, 560, 20, 40, 140, 80);
g.fillArc(340, 580, 20, 40, 140, 80);
g.fillArc(340, 600, 20, 40, 140, 80);
g.fillArc(340, 620, 20, 40, 140, 80);
g.fillArc(340, 640, 20, 40, 140, 80);
g.fillArc(318, 640, 20, 40, 335, 80);
g.fillArc(318, 500, 20, 40, 335, 80);
g.fillArc(318, 520, 20, 40, 335, 80);
g.fillArc(318, 540, 20, 40, 335, 80);
g.fillArc(318, 560, 20, 40, 335, 80);
g.fillArc(318, 580, 20, 40, 335, 80);
g.fillArc(318, 600, 20, 40, 335, 80);
g.fillArc(318, 620, 20, 40, 335, 80);
g.fillArc(318, 640, 20, 40, 335, 80);
g.fillRect(335, 440, 10, 230);
g.setColor(Color.pink);
g.fillOval(265, 220, 150, 270);
Polygon poly = new Polygon();
g.setColor(Color.BLACK);
int xShift = 285;
int yShift = 240;
poly.addPoint(10 + xShift, 10 + yShift);
poly.addPoint(100 + xShift, 10 + yShift);
poly.addPoint(100 + xShift, 100 + yShift);
poly.addPoint(10 + xShift, 100 + yShift);
poly.addPoint(10 + xShift, 100 + yShift);
g.drawOval(300, 255, 80, 75);
g.drawOval(310, 265, 58, 60);
g.drawOval(320, 273, 36, 45);
g.drawOval(330, 281, 14, 30);
g.drawOval(335, 289, 2, 15);
g.setColor(Color.BLACK);
g.drawPolygon(poly);
g.drawLine(310,265,335,289);
//Forget me not
g.setColor(Color.GREEN);
g.fillOval(850,200,100,200);
g.fillOval(850,50,100,200);
g.fillOval(725,180,300,100);
g.setColor(Color.CYAN);
g.fillOval(920,220,40,80);
g.fillOval(920,280,40,80);
g.fillOval(940,270,80,40);
g.fillOval(870,270,80,40);
g.fillOval(885, 90, 40, 80);
g.fillOval(885, 150, 40, 80);
g.fillOval(915, 140, 80, 40);
g.fillOval(830, 140, 80, 40);
g.fillOval(800,175,40,80);
g.fillOval(800,235,40,80);
g.fillOval(820,225,80,40);
g.fillOval(750,225,80,40);
g.setColor(Color.YELLOW);
g.fillOval(895,145,20,20);
g.fillOval(935,275,20,20);
g.fillOval(815,235,20,20);
g.setColor(Color.BLACK);
Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
Font f = new Font("Sans-Serif", Font.BOLD, 50);
g.setFont(f);
g.drawString("Flowers of the Midwest", 220, 100);
g.setFont(f);
g.setFont(new Font("Sans-Serif", Font.BOLD, 24));
g.drawString("Rose", 260, 690);
//g.drawString("Pansy (Viola tricolor var hortensis)", 80, 100);
g.drawString("Black-Eyed Susan",35,580);
g.drawString("Pansy",560,660);
g.drawString("Scorpion Grasses",745,425);
g.setFont(new Font("TimesRoman", Font.BOLD, 12));
g.drawString("Scientific name:", 25,600);
g.drawString("Class:",25,610);
g.drawString("Description:",25,620);
g.drawString("Scientific name:", 220,710);
g.drawString("Class:",220,720);
g.drawString("Description:",220,730);
g.drawString("Scientific name:", 540,680);
g.drawString("Class:",540,690);
g.drawString("Description:",540,700);
g.drawString("Scientific name:", 710,445);
g.drawString("Class:",710,455);
g.drawString("Description:",710,465);
g.setFont(new Font("TimesRoman", Font.PLAIN, 12));
g.drawString(" Rudbeckia hirta",120 ,600);
g.drawString("Coneflowers",120,610);
g.drawString("Part of the the sunflower family.", 120,620);
g.drawString(" Native to the Americas and China.", 120,630);
g.drawString("Rosa", 320,710);
g.drawString("Rosoideae",320,720);
g.drawString("A woody perennial flowering plant", 320,730);
g.drawString("that has thousands of cultivars",320, 740);
g.drawString("Viola tricolor var. hortensis", 635,680);
g.drawString("Wild Pansy",635,690);
g.drawString("large flower hybrid plant .", 635,700);
g.drawString("cultivated as a garden flower.",635, 710);
g.drawString("Myostis", 810,445);
g.drawString("Borages",810,455);
g.drawString("In the family Boraginaceae. The", 810,465);
g.drawString("name comes from the Greek word ",810, 475);
g.drawString("'mouse ear'. Commonly known as ",810, 485);
g.drawString(" forget-me nots.",810, 495);
}
}
import javax.swing.*;
import java.awt.*;
public class Practice {
public static void main(String[] args) {
JLayeredPane layers = new JLayeredPane();
layers.setLayout(null);
layers.setPreferredSize(new Dimension(1024,900));
ImageIcon i = new ImageIcon("BWflower.jpg");
JLabel l= new JLabel();
l.setIcon(i);
JPanel backgroundLayer = new JPanel();
backgroundLayer.add(l);
backgroundLayer.setBounds(0, 0, 1024, 900);
backgroundLayer.setOpaque(false);
layers.add(backgroundLayer, 0, 0);
JPanel flowerLayer = new JPanel();
FlowerPanel flowers = new FlowerPanel();
flowers.setOpaque(false);
flowerLayer.add(flowers);
flowerLayer.setBounds(0, 0, 1024, 900);
flowerLayer.setOpaque(false);
layers.add(flowerLayer, 1, 0);
JPanel mainPane = new JPanel();
mainPane.setLayout(new BorderLayout());
mainPane.add(layers, BorderLayout.CENTER);
JFrame mainFrame = new JFrame("Flowers of The Midwest");
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainFrame.setBounds(200, 200, 1024, 900);
mainFrame.setContentPane(mainPane);
mainFrame.setVisible(true);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment