Как реализовать свои собственные эскизы Applic

Этот совет Java Swing показывает эскизы приложений. Приложение включает в себя две шкалы: одна для горизонтального движения, по одному для вертикального движения. Наборы являются экземплярами JogShuttle класс.


import java.awt.*;

import java.awt.event.*;

import java.beans.*;

import java.util.*;



import javax.swing.*;

import javax.swing.border.*;



public class Sketch extends JPanel

        implements PropertyChangeListener, ActionListener {

    

    JogShuttle shuttle1;

    JogShuttle shuttle2;

    JPanel board;

    JButton clear;

    

    int lastX, lastY;  // Keep track of the last point we drew.

    

    public Sketch() {

        

        super(true);

        

        setLayout(new BorderLayout());

        board = new JPanel(true);

        board.setPreferredSize(new Dimension(300300));

        board.setBorder(new LineBorder(Color.black, 5));

        

        clear = new JButton("Clear Drawing Area");

        clear.addActionListener(this);

        

        shuttle1 = new JogShuttle(0300150);

        lastX = shuttle1.getValue();

        shuttle2 = new JogShuttle(0300150);

        lastY = shuttle2.getValue();

        

        shuttle1.setValuePerRevolution(100);

        shuttle2.setValuePerRevolution(100);

        

        shuttle1.addPropertyChangeListener(this);

        shuttle2.addPropertyChangeListener(this);

        

        shuttle1.setBorder(new BevelBorder(BevelBorder.RAISED));

        shuttle2.setBorder(new BevelBorder(BevelBorder.RAISED));

        

        add(board, BorderLayout.NORTH);

        add(shuttle1, BorderLayout.WEST);

        add(clear, BorderLayout.CENTER);

        add(shuttle2, BorderLayout.EAST);

    }

    

    public void propertyChange(PropertyChangeEvent e) {

        

        if (e.getPropertyName() == "value") {

            Graphics g = board.getGraphics();

            g.setColor(getForeground());

            g.drawLine(lastX, lastY,

                    shuttle1.getValue(), shuttle2.getValue());

            lastX = shuttle1.getValue();

            lastY = shuttle2.getValue();

        }

    }

    

    public void actionPerformed(ActionEvent e) {

        

        //  The button must have been pressed.

        Insets insets = board.getInsets();

        Graphics g = board.getGraphics();

        g.setColor(board.getBackground());

        g.fillRect(insets.left, insets.top,

                board.getWidth()-insets.left-insets.right,

                board.getHeight()-insets.top-insets.bottom);

    }

    

    public static void main(String[] args) {

        

        UIManager.put(JogShuttleUI.UI_CLASS_ID, "BasicJogShuttleUI");

        Sketch s = new Sketch();

        

        JFrame frame = new JFrame("Sample Sketch Application");

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        frame.setContentPane(s);

        frame.pack();

        frame.setVisible(true);

        

    }

}

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>