Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.BorderLayout;
- import java.awt.Color;
- import java.awt.Dimension;
- import java.awt.EventQueue;
- import java.awt.Graphics;
- import java.awt.Polygon;
- import java.awt.Toolkit;
- import javax.swing.*;
- import javax.swing.event.ChangeEvent;
- import javax.swing.event.ChangeListener;
- public class Kozyra extends JFrame {
- private int n=5;
- private MyComponent komponent;
- private boolean rr=false;
- private boolean gg=false;
- private boolean bb=false;
- class MyComponent extends JComponent{
- @Override
- protected void paintComponent(Graphics g) {
- g.setColor(new Color(rr?255:0,gg?255:0,bb?255:0));
- int szer=getWidth();
- int wys=getHeight();
- g.drawLine(0, wys/4, szer, 0);
- g.drawLine(0, wys/4, szer, wys/2);
- g.drawLine(0, wys/2, szer, wys/2);
- g.drawLine(0, wys/2, szer/2, wys);
- g.drawLine(szer/2, wys, szer, wys/2);
- g.drawLine(szer/2, wys/2, szer/2, wys);
- for (int i = 0; i < n; i++) {
- g.drawLine(0, wys/4, szer, wys/2*i/(n-1));
- g.drawLine(0, wys/2+wys/2*i/(n-1), szer/2*i/(n-1), wys/2+wys/2*i/(n-1));
- g.drawLine(szer/2+szer/2*i/(n-1), wys/2, szer/2+szer/2*i/(n-1), wys-wys/2*i/(n-1));
- }
- super.paintComponent(g);
- }
- }
- public Kozyra(String string) {
- super(string);
- Toolkit kit=Toolkit.getDefaultToolkit();
- Dimension d=kit.getScreenSize();
- setBounds(d.width/6, d.height/6, d.width*2/3, d.height*2/3);
- setDefaultCloseOperation(EXIT_ON_CLOSE);
- add(komponent=new MyComponent());
- JPanel panel=new JPanel(new BorderLayout());
- add(panel,BorderLayout.SOUTH);
- final JSlider slider=new JSlider(2,100,n);
- slider.addChangeListener(new ChangeListener() {
- @Override
- public void stateChanged(ChangeEvent e) {
- n=slider.getValue();
- komponent.repaint();
- }
- });
- panel.add(slider);
- JPanel panel1=new JPanel();
- panel.add(panel1,BorderLayout.EAST);
- final JCheckBox cbr=new JCheckBox("R");
- final JCheckBox cbg=new JCheckBox("G");
- final JCheckBox cbb=new JCheckBox("B");
- panel1.add(cbr);
- panel1.add(cbg);
- panel1.add(cbb);
- cbr.addChangeListener(new ChangeListener() {
- @Override
- public void stateChanged(ChangeEvent e) {
- rr=cbr.isSelected();
- komponent.repaint();
- }
- });
- cbg.addChangeListener(new ChangeListener() {
- @Override
- public void stateChanged(ChangeEvent e) {
- gg=cbg.isSelected();
- komponent.repaint();
- }
- });
- cbb.addChangeListener(new ChangeListener() {
- @Override
- public void stateChanged(ChangeEvent e) {
- bb=cbb.isSelected();
- komponent.repaint();
- }
- });
- setVisible(true);
- }
- public static void main(String[] args) {
- EventQueue.invokeLater(new Runnable() {
- @Override
- public void run() {
- new Kozyra("Zad 15 Kozyra");
- }
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement