Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.*;
- public class DemoJPanel1 extends JPanel implements MouseListener,ItemListener,ActionListener,MouseMotionListener {
- JPanel mainPanel = new JPanel();
- int startX, startY,endX,endY;
- /*--------Default Constructor to Set Up JPanel--------*/
- DemoJPanel1(){
- mainPanel.setPreferredSize(new Dimension(300,300));
- mainPanel.setBackground(Color.blue);
- mainPanel.addMouseListener(this);
- }
- /*--------Shape Painter Function--------*/
- public void shapeDrawer() {
- Graphics2D g2 = (Graphics2D) getGraphics();
- g2.setColor(Color.white);
- int width = Math.abs(endX-startX);
- int height = Math.abs(endY-startY);
- minAndMax();
- g2.fillRect(startX, startY, width, height);
- }
- public void minAndMax() {
- if(startX > endX) {
- int temp = startX;
- startX = endX;
- endX = temp;
- }
- if(startY >endY) {
- int temp = startY;
- startY = endY;
- endY = temp;
- }
- }
- /*--------Mouse Motion Functions--------*/
- @Override
- public void mousePressed(MouseEvent e) {
- System.out.println("Test 1");
- this.startX = e.getX();
- this.startY = e.getY();
- }
- @Override
- public void mouseReleased(MouseEvent e) {
- this.endX = e.getX();
- this.endY = e.getY();
- shapeDrawer();
- }
- /*--------Not Used Mouse Motion Functions--------*/
- @Override
- public void mouseDragged(MouseEvent arg0) {
- }
- @Override
- public void mouseMoved(MouseEvent arg0) {
- }
- @Override
- public void actionPerformed(ActionEvent arg0) {
- }
- @Override
- public void itemStateChanged(ItemEvent arg0) {
- }
- @Override
- public void mouseClicked(MouseEvent e) {
- }
- @Override
- public void mouseEntered(MouseEvent e) {
- }
- @Override
- public void mouseExited(MouseEvent e) {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement