Advertisement
Guest User

Untitled

a guest
Sep 17th, 2014
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.70 KB | None | 0 0
  1. package toets1;
  2. import javax.swing.*;
  3. import java.awt.event.*;
  4. import java.awt.*;
  5.  
  6. public class Toets1 extends JFrame
  7. {
  8.  
  9.     public static void main(String[] args)
  10.     {
  11.         JFrame frame = new Toets1(); //de MainFrame.
  12.         frame.setSize(600,400);
  13.         frame.setTitle("Toets 1");
  14.         frame.setContentPane(new Paneel());
  15.         frame.setVisible(true);
  16.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  17.     }
  18.    
  19. }
  20.  
  21. class Paneel extends JPanel
  22. {
  23.     JTextField lijnXBvak, lijnXEvak, lijnYBvak, lijnYEvak; //XB = X begin, XE = X eind, enz.
  24.     JTextField cirkel1vak, cirkel2vak, straalvak;
  25.     JLabel lijnXYbegin, lijnXYeind; // Verwijzingen van de elementen
  26.     JLabel middelpuntL, straalL;
  27.     JButton lijnKnop;
  28.     JButton cirkelKnop;
  29.     JButton resetKnop, blauwKnop, geelKnop, roodKnop;
  30.     int xb, yb, xe, ye;
  31.     int cirkel1, cirkel2, straal;
  32.     Color colorToUse;
  33.    
  34.     public Paneel()
  35.     {
  36.         setLayout(null); //Schakelt de standaard layout uit, nu kan ik mijn eigen layout maken.
  37.        
  38.         lijnXBvak = new JTextField(5); //Aanmaak van de elementen
  39.         lijnXEvak = new JTextField(5);
  40.         lijnYBvak = new JTextField(5);
  41.         lijnYEvak = new JTextField(5);
  42.         lijnXYbegin = new JLabel("beginwaarde x en y");
  43.         lijnXYeind = new JLabel("eindwaarde x en y");
  44.         lijnKnop = new JButton("lijn");
  45.        
  46.         cirkel1vak = new JTextField(5);
  47.         cirkel2vak = new JTextField(5);
  48.         straalvak = new JTextField(5);
  49.         middelpuntL = new JLabel("middelpunt");
  50.         straalL = new JLabel("straal");
  51.         cirkelKnop = new JButton("cirkel");
  52.        
  53.         resetKnop = new JButton("reset");
  54.         blauwKnop = new JButton("blauw");
  55.         roodKnop = new JButton("rood");
  56.         geelKnop = new JButton("geel");
  57.        
  58.         blauwKnop.setBackground(Color.BLUE);
  59.         blauwKnop.setForeground(Color.WHITE);
  60.         roodKnop.setBackground(Color.RED);
  61.         roodKnop.setForeground(Color.WHITE);
  62.         geelKnop.setBackground(Color.YELLOW);
  63.         geelKnop.setForeground(Color.BLACK);
  64.        
  65.         lijnKnop.setBounds(20,20,60,20); //Eerste twee waardes zijn als startpositie, daarna de grootte.
  66.         lijnXYbegin.setBounds(20,60,140,20);
  67.         lijnXYeind.setBounds(20,100,140,20);
  68.         lijnXBvak.setBounds(140,60,40,20);
  69.         lijnYBvak.setBounds(140,80,40,20);
  70.         lijnXEvak.setBounds(140,100,40,20);
  71.         lijnYEvak.setBounds(140,120,40,20);
  72.        
  73.         cirkelKnop.setBounds(200,20,80,20);
  74.         middelpuntL.setBounds(200,60,80,20);
  75.         straalL.setBounds(200,100,80,20);
  76.         cirkel1vak.setBounds(280,60,40,20);
  77.         cirkel2vak.setBounds(280,80,40,20);
  78.         straalvak.setBounds(280,100,40,20);
  79.        
  80.         resetKnop.setBounds(320,20,80,20);
  81.         blauwKnop.setBounds(400,20,80,20);
  82.         roodKnop.setBounds(400,40,80,20);
  83.         geelKnop.setBounds(400,60,80,20);
  84.        
  85.         add(lijnKnop); // En nu het plaatsen van de elementen op het formulier...
  86.         add(lijnXYbegin);
  87.         add(lijnXYeind);
  88.         add(lijnXBvak);
  89.         add(lijnXEvak);
  90.         add(lijnYBvak);
  91.         add(lijnYEvak);
  92.        
  93.         add(cirkelKnop);
  94.         add(middelpuntL);
  95.         add(straalL);
  96.         add(cirkel1vak);
  97.         add(cirkel2vak);
  98.         add(straalvak);
  99.        
  100.         add(resetKnop);
  101.         add(blauwKnop);
  102.         add(geelKnop);
  103.         add(roodKnop);
  104.        
  105.         lijnKnop.addActionListener(new LijnKnopHandler()); //Koppelen van de knop aan een actie.
  106.         cirkelKnop.addActionListener(new CirkelKnopHandler());
  107.         resetKnop.addActionListener(new ResetKnopHandler());
  108.         blauwKnop.addActionListener(new BlauwKnopHandler());
  109.         roodKnop.addActionListener(new RoodKnopHandler());
  110.         geelKnop.addActionListener(new GeelKnopHandler());
  111.        
  112.  
  113.     }
  114.    
  115.     class LijnKnopHandler implements ActionListener
  116.     {
  117.         public void actionPerformed(ActionEvent e)
  118.         {
  119.             try
  120.             {
  121.                 String xbstr = lijnXBvak.getText();
  122.                 xb = Integer.parseInt(xbstr);
  123.                 String ybstr = lijnYBvak.getText();
  124.                 yb = Integer.parseInt(ybstr);
  125.                 String xestr = lijnXEvak.getText();
  126.                 xe = Integer.parseInt(xestr);
  127.                 String yestr = lijnYEvak.getText();
  128.                 ye = Integer.parseInt(yestr);
  129.                 repaint();
  130.             }
  131.             catch(NumberFormatException fout)
  132.             {
  133.                 JOptionPane.showMessageDialog(null,"U dient getallen in te voeren","Foutmelding",JOptionPane.WARNING_MESSAGE);
  134.             }
  135.         }
  136.     }
  137.     class CirkelKnopHandler implements ActionListener
  138.     {
  139.         public void actionPerformed(ActionEvent e)
  140.         {
  141.             try
  142.             {
  143.                 String middel1 = cirkel1vak.getText();
  144.                 cirkel1 = Integer.parseInt(middel1);
  145.                 String middel2 = cirkel2vak.getText();
  146.                 cirkel2 = Integer.parseInt(middel2);
  147.                 String straalstr = straalvak.getText();
  148.                 straal = Integer.parseInt(straalstr);
  149.                 repaint();
  150.             }
  151.             catch(NumberFormatException fout)
  152.             {
  153.                 JOptionPane.showMessageDialog(null,"U dient getallen in te voeren","Foutmelding",JOptionPane.WARNING_MESSAGE);
  154.             }
  155.         }
  156.        
  157.     }
  158.     class ResetKnopHandler implements ActionListener
  159.     {
  160.         public void actionPerformed(ActionEvent e)
  161.         {
  162.             cirkel1 = 0;
  163.             cirkel2 = 0;
  164.             straal = 0;
  165.             xb = 0;
  166.             xe = 0;
  167.             yb = 0;
  168.             ye = 0;
  169.             colorToUse = Color.BLACK;
  170.             repaint();
  171.         }
  172.     }
  173.    
  174.     class BlauwKnopHandler implements ActionListener
  175.     {
  176.         public void actionPerformed(ActionEvent e)
  177.         {
  178.             colorToUse = Color.BLUE;
  179.             repaint();
  180.         }
  181.     }
  182.    
  183.     class RoodKnopHandler implements ActionListener
  184.     {
  185.         public void actionPerformed(ActionEvent e)
  186.         {
  187.             colorToUse = Color.RED;
  188.             repaint();
  189.         }
  190.     }
  191.    
  192.     class GeelKnopHandler implements ActionListener
  193.     {
  194.         public void actionPerformed(ActionEvent e)
  195.         {
  196.             colorToUse = Color.YELLOW;
  197.             repaint();
  198.         }
  199.     }
  200.    
  201.     public void paintComponent(Graphics g)
  202.     {
  203.         super.paintComponent(g);
  204.         g.setColor(Color.BLACK);
  205.  
  206.         g.drawLine(0,160,600,160);
  207.    
  208.         g.setColor(colorToUse);
  209.         g.drawLine((20+xb),(180+yb),(20+xe),(180+ye));
  210.         g.fillOval((20+cirkel1),(180+cirkel2),straal,straal);
  211.     }
  212. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement