Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.Button;
- import java.awt.Canvas;
- import java.awt.Color;
- import java.awt.Dimension;
- import java.awt.FlowLayout;
- import java.awt.Frame;
- import java.awt.Graphics;
- import java.awt.Panel;
- import java.awt.Rectangle;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.WindowEvent;
- import java.awt.event.WindowListener;
- public class Zad1 extends Frame{
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- /**
- *
- */
- Canvas canvas = null;
- boolean selected = false;
- Frame frame = null;
- Panel panel = new Panel();
- public Zad1() {
- setLayout(new FlowLayout());
- setTitle("Zadanie 1");
- setPreferredSize(new Dimension(400,400));
- frame = this;
- canvas = getCanvas(75,50);
- canvas.setPreferredSize(new Dimension(390, 300));
- add(canvas);
- add(getButton());
- pack();
- setLocationRelativeTo(null);
- addWindowListener(new WindowListener() {
- public void windowClosing(WindowEvent e) {
- // TODO Auto-generated method stub
- System.exit(0);
- }
- @Override
- public void windowActivated(WindowEvent e) {
- // TODO Auto-generated method stub
- }
- @Override
- public void windowClosed(WindowEvent e) {
- // TODO Auto-generated method stub
- }
- @Override
- public void windowDeactivated(WindowEvent e) {
- // TODO Auto-generated method stub
- }
- @Override
- public void windowDeiconified(WindowEvent e) {
- // TODO Auto-generated method stub
- }
- @Override
- public void windowIconified(WindowEvent e) {
- // TODO Auto-generated method stub
- }
- @Override
- public void windowOpened(WindowEvent e) {
- // TODO Auto-generated method stub
- }
- });
- }
- /**
- * Metoda obslugująca rysowanie
- * x - pozycja x
- * y - pozycja y
- *
- */
- public Canvas getCanvas(final int x, final int y)
- {
- Canvas canvas = new Canvas()
- {
- private static final long serialVersionUID = 1L;
- public void paint(Graphics g)
- {
- //rysowanie lini
- Dimension d = getSize();
- g.drawLine(0, 0, d.width, d.height);
- g.drawLine(d.width, 0, 0, d.height);
- //dodatki
- if(selected)
- {
- setBackground(new Color(50, 100, 150));
- g.drawString("Test Środowiska GUI", x, y); //75, 50
- g.setColor(Color.blue);
- g.fillOval(x+35, y+20, 50, 50);
- g.setColor(Color.red);
- g.drawRoundRect(x-10, y-20, 140, 30, 20, 20);
- }
- else
- setBackground(new Color(255, 255, 255));
- }
- };
- return canvas;
- }
- /**
- * Przycisk rysowania/czyszczenia
- *
- */
- public Button getButton()
- {
- final Button button = new Button("Rysuj");
- button.addActionListener(new ActionListener()
- {
- @Override
- public void actionPerformed(ActionEvent e) {
- if(selected==false)
- {
- selected=true;
- button.setLabel("Czyść");
- }
- else
- {
- selected = false;
- button.setLabel(" Rysuj ");
- }
- //odswiezenie
- Rectangle rect = frame.getBounds();
- canvas.repaint(rect.x, rect.y, rect.width, rect.height);
- }
- });
- return button;
- }
- public static void main(String[] args) {
- new Zad1().setVisible(true);
- }
- }
Add Comment
Please, Sign In to add comment