Last active
September 25, 2020 02:45
-
-
Save rpmcdougall/6037db492324e3eba22d2facf435f350 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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