Простые панели инструментов JToolBar — КиберПедия 

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Простые панели инструментов JToolBar

2020-04-01 106
Простые панели инструментов JToolBar 0.00 из 5.00 0 оценок
Заказать работу

Создание панели инструментов в Swing не таит в себе никаких трудностей. Вы создаете компонент JToolBar, добавляете в него свои кнопки или другие компоненты (особенно удобно использовать для панелей инструментов «команды» Action, которые позволяют в одном месте указать и параметры внешнего вида кнопки, и описать то, что должно происходить при щелчке на ней) и выводите панель инструментов на экран. Проиллюстрирует сказанное следующий пример.

// SimpleToolbars.java

// Простые панели инструментовjavax.swing.*;

import java.awt.event.*;class SimpleToolbars extends JFrame {SimpleToolbars() {("SimpleToolbars");(EXIT_ON_CLOSE);

// первая панель инструментовtoolbar1 = new JToolBar();

// добавим кнопки.add(new JButton(new ImageIcon("images/New16.gif")));.add(new JButton(new ImageIcon("images/Open16.gif")));

// разделитель.addSeparator();

// добавим команду.add(new SaveAction());

// вторая панель инструментовtoolbar2 = new JToolBar();

// добавим команду.add(new SaveAction());

// раскрывающийся список.add(new JComboBox(new String[] {"Жирный", "Обычный" }));

// добавим панели инструментов в окно().add(toolbar1, "North");().add(toolbar2, "South");

// выводим окно на экран

setSize(400, 300);(true);

}

// команда для панели инструментов

class SaveAction extends AbstractAction {SaveAction() {

// настроим значок команды(AbstractAction.SMALL_ICON, new ImageIcon("images/Save16.gif"));

// текст подсказки(AbstractAction.SHORT_DESCRIPTION, "Сохранить документ...");

}void actionPerformed(ActionEvent e) {

}}static void main(String[] args) {

new SimpleToolbars();

}}

Создаются две панели инструментов, которые разместятся в небольшом окне JFrame. Сначала демонстрируется наиболее распространенный способ использования панели инструментов: создав компонент JToolBar, в него добавляются кнопки JButton, как правило, с небольшим значком (кнопки с надписями или большими значками выглядят непривычно и подходят только под определенный стиль пользовательского интерфейса). После двух кнопок добавляется разделитель, вызывая специальный метод addSeparator(). Используется разделитель в панели инструментов примерно так же, как в меню: для визуального отделения групп компонентов, выполняющих различные действия.

Третья кнопка добавляется не в виде компонента JButton, а как экземпляр команды Action, добавить команду позволяет специальная перегруженная версия метода add(). Это особенно верно для панелей инструментов: в классе команды задается значок и текст подсказки и тут же описывается действие, которое должна будет выполнить команда. После этого остается только добавить команду в панель инструментов.

Вторая панель инструментов демонстрирует, что храниться в ней могут не только кнопки, но и любые другие компоненты. Сначала в панель добавляется команда, а затем раскрывающийся список JComboBox, созданный на основе массива строк. Раскрывающиеся списки довольно часто «гостят» в панелях инструментов, и не зря: они занимают немного места и позволяют организовать гибкий выбор одного варианта из многих.

Созданные панели инструментов добавляются в «пограничные» области панели содержимого, в которой по умолчанию используется полярное расположение BorderLayout. Первая панель размещается на севере, а вторая - на юге окна. Расположение BorderLayout специально создано для главных окон приложения с панелями инструментов.


 

ВЫВОДЫ

программа листинг интерфейс java

В данной курсовой работе были рассмотрены основные компоненты библиотеки Swing (которая представляет собой набор графических компонентов для создания пользовательских интерфейсов приложений) с подробным их описанием и примерами реализации, наиболее значимые отличия Swing от AWT, система обработки событий. Так же была разработана программа TextEditor (листинг которой наведен в приложении А), с целью наглядно показать пример использования основных компонентов библиотеки. В данной программе пользователь имеет возможность создать, открыть, изменить и сохранить текстовый документ. Особенностью является то, что реализована возможность выбора отображаемого шрифта из пяти доступных, а так же указания его вида (жирный, курсив). Для большего удобства имеется панель инструментов с кнопками «Новый», «Открыть», «Сохранить».


ПРИЛОЖЕНИЕ

Листинг программы TextEditor

java.awt.*;

import java.awt.event.*;java.io.*;java.util.*;javax.swing.*;javax.swing.event.*;class TextEditor extends JFrame {static final String FONTS[] = {"Lucida Console", "Courier New", "Comic Sans MS", "Arial", "Calibri"};Font m_fonts[];JTextArea my_text_area;JMenuItem[] m_fontMenus;JCheckBoxMenuItem m_bold;JCheckBoxMenuItem m_italic;JFileChooser my_file_chooser;JToolBar m_toolBar;TextEditor()

{("Курсовая работа. Java Swing.");

setSize(700, 600);(getToolkit().getImage("img/ukraine.gif"));(DO_NOTHING_ON_CLOSE);.setLocation (100, 100);_fonts = new Font[FONTS.length];(int k=0; k<FONTS.length; k++) m_fonts[k] = new Font(FONTS[k], Font.PLAIN, 12);_text_area = new JTextArea();_text_area.setLineWrap(true);_text_area.setWrapStyleWord(true);ps = new JScrollPane(my_text_area);().add(ps, BorderLayout.CENTER);_text_area.append("Введите текст...");menuBar = createMenuBar();(menuBar);_file_chooser = new JFileChooser();_file_chooser.setCurrentDirectory(new File("."));wndCloser = new WindowAdapter()

{void windowClosing(WindowEvent e) {res = JOptionPane.showConfirmDialog(null, "Закрыть программу?");(res == JOptionPane.YES_OPTION) System.exit(0); }

};(wndCloser);();(true);

}JMenuBar createMenuBar()

{JMenuBar menuBar = new JMenuBar();mFile = new JMenu("Файл");iconNew = new ImageIcon("img/new.gif");actionNew = new AbstractAction("Новый", iconNew)

{void actionPerformed(ActionEvent e)

{_text_area.setText("");

}

};item = mFile.add(actionNew);.add(item);iconOpen = new ImageIcon("img/open.gif");actionOpen = new AbstractAction("Открыть...", iconOpen)

{void actionPerformed(ActionEvent e)

{.this.repaint();(my_file_chooser.showOpenDialog(TextEditor.this)!=.APPROVE_OPTION);runner = new Thread() {void run() {fChoosen = my_file_chooser.getSelectedFile();{in = new FileReader(fChoosen);_text_area.read(in, null);.close();

}(IOException ex) { ex.printStackTrace(); }

}};.start();

}

};= mFile.add(actionOpen);.add(item);iconSave = new ImageIcon("img/save.gif");actionSave = new AbstractAction("Сохранить...", iconSave)

{void actionPerformed(ActionEvent e)

{.this.repaint();(my_file_chooser.showSaveDialog(TextEditor.this)

!= JFileChooser.APPROVE_OPTION);runner = new Thread() {void run() {fChoosen = my_file_chooser.getSelectedFile();

{out = new FileWriter(fChoosen);_text_area.write(out);.close();

}(IOException ex) {ex.printStackTrace();}

}};.start();

}};= mFile.add(actionSave);.add(item);.addSeparator();actionExit = new AbstractAction("Выход")

{void actionPerformed(ActionEvent e)

{ System.exit(0); }

};= mFile.add(actionExit);.add(mFile);_toolBar = new JToolBar();btn1 = m_toolBar.add(actionNew);.setToolTipText("Новый");btn2 = m_toolBar.add(actionOpen);.setToolTipText("Открыть");btn3 = m_toolBar.add(actionSave);.setToolTipText("Сохранить");fontListener = new ActionListener() {void actionPerformed(ActionEvent e)

{ updateMonitor(); }

};mFont = new JMenu("Шрифт");group = new ButtonGroup();_fontMenus = new JMenuItem[FONTS.length];(int k=0; k<FONTS.length; k++)

{m = k+1;_fontMenus[k] = new JRadioButtonMenuItem(FONTS[k]);selected = (k == 0);_fontMenus[k].setSelected(selected);_fontMenus[k].setMnemonic('1'+k);_fontMenus[k].setFont(m_fonts[k]);_fontMenus[k].addActionListener(fontListener);.add(m_fontMenus[k]);.add(m_fontMenus[k]);

}


Поделиться с друзьями:

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.01 с.