Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Заочники 2020-2021 / Лекция 7.ppt
Скачиваний:
66
Добавлен:
15.06.2021
Размер:
884.74 Кб
Скачать

Основы Java

МИЭТ, 2016

Лекция 7.

1.Графический интерфейс в Java (окончание)

2.Многопоточность в Java

GUI в Java. Панели инструментов

Лекция 7

Для создания панелей инструментов используется класс JtoolBar

GUI в Java. Панели инструментов

Лекция 7

Особенностью панелей инструментов является то, что они могут размещаться За границами окна приложения

GUI в Java. Панели инструментов. Пример. Лекция 7

public class ToolBarTest extends JToolBar implements ActionListener { public JButton BTF; public JButton BTS; public JButton BTT;

public ToolBarTest(String Name) { super();

this.setName(Name); this.setSize(150, 40);

this.setComponentOrientation(getComponentOrientation()); this.setOrientation(HORIZONTAL); this.setMinimumSize(getSize());

this.makeContent();

this.setCursor(new Cursor(Cursor.HAND_CURSOR));

}

private void makeContent() {

BTF = new JButton("");

BTF.setName("BTF");

BTF.addActionListener(this);

BTF.setToolTipText("First");

ImageIcon img = new ImageIcon("src/first.jpg");

System.out.println(img.getIconWidth());

BTF.setIcon(img);

this.add(BTF);

//Добавляем остальные кнопки

}

GUI в Java. Диалоговые (модальные) окна

Лекция 7

Диалоговые (модальные) окна — блокируют исполнение программы, пока из них не будет осуществлен выход.

Классы диалоговых окон в Java

JOptionPane — универсальный класс для создания диалоговых окон

JFileChooser — класс для создания диалоговых окно выбора файлов

JСolorChooser — класс для выбора цвета

GUI в Java. Диалоговое окно JOptionPane

Лекция 7

showMessageDialog() — метод для показа простого окна — предупреждения

JOptionPane.showMessageDialog(frame,

"Eggs are not supposed to be green.",

"Inane error",

JOptionPane.ERROR_MESSAGE);

showOptionsDialog() — метод для показа окна с возможностью выбора вариантов

Object[] options = {"Yes, please", "No, thanks", "No eggs, no ham!"}; int n = JOptionPane.showOptionDialog(frame,

"Would you like some green eggs to go with that ham?", "A Silly Question",

JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null,//можно задать свою иконку options,

options[2]);

GUI в Java. Диалоговое окно JOptionPane

Лекция 7

showInputDialog() — метод для показа окна с возвращением значения, выбранного или введенного пользователем.

Object[] possibilities = {"ham", "spam", "yam"};

String s = (String)JOptionPane.showInputDialog( this,

"Complete the sentence: \"Green eggs and...\"", "Customized Dialog", JOptionPane.PLAIN_MESSAGE,

null,//можно задать свою иконку possibilities,

"ham");

Для более сложных случаев модальных окон необходимо воспользоваться классом JDialog, создавая от него свои диалоговые окна

GUI в Java. Параметры JoptionPane

Лекция 7

messageType - тип иконки окна :

INFORMATION_MESSAGE - для вывода информации со значком соответствующего вида; WARNING_MESSAGE - для вывода предупреждающей информации со значком соответствующего вида; QUESTION_MESSAGE - для вывода вопросительной информации со значком соответствующего вида; ERROR_MESSAGE - для вывода информации об ошибке со значком соответствующего вида; PLAIN_MESSAGE - для вывода информации без значка.

optionType - опция определения какие кнопки отображать:

DEFAULT_OPTION

YES_NO_OPTION

YES_NO_CANCEL_OPTION

OK_CANCEL_OPTION

Для задания своей иконки, вместо null помещаем:

new ImageIcon("img/myico.png");

GUI в Java. События мыши, клавиатуры, окна

Лекция 7

 

 

 

KeyListener — Слушатель событий

keyPressed(KeyEvent e)

 

нажатия клавиши

keyRelesed(KeyEvent e)

 

 

 

 

keyTyped(KeyEvent e)

 

 

 

 

MouseListener — слушатель событий

mouseClicked(MouseEvent e)

 

кликов мыши

mousePressed(MouseEvent e)

 

 

 

 

mouseReleased(MouseEvent e)

 

 

mouseEntered(MouseEvent e)

 

 

mouseExited(MouseEvent e)

 

 

 

 

MouseMotionListener — слушатель

mouseDragged(MouseEvent e)

 

событий перемещения мыши

mouseMoved(MouseEvent e)

 

 

 

 

 

 

WindowListener — слушатель событий

windowOpened(WindowEvent e)

 

окна

windowClosing(WindowEvent e)

 

 

 

 

windowClosed(WindowEvent e)

 

 

windowIconified(WindowEvent e)

 

 

windowDeiconified(WindowEvent e)

 

 

windowActivated(WindowEvent e)

 

 

 

 

GUI в Java. Пример «слушания» событий мыши и клавиатуры

Лекция 7

public class MainDesktopPane extends JDesktopPane implements KeyListener,

 

MouseListener{

 

MainDesktopPane() { super(); addKeyListener(this); addMouseListener(this); this.getActionMap();

this.getInputMap().put(KeyStroke.getKeyStroke((char) KeyEvent.KEY_PRESSED), "");

}

@Override

public void mouseClicked(MouseEvent e) { System.out.println("MainDesktopPane > "+e.getX()+" "+e.getY()+" " +e.getXOnScreen()+" "+e.getYOnScreen());

}

@Override

public void keyPressed(KeyEvent arg0) { System.out.println("MainDesktopPane keyPressed > " +arg0.getKeyCode()+" "+arg0.getKeyText(arg0.getKeyCode()));

}

@Override

public void keyReleased(KeyEvent arg0) { System.out.println("MainDesktopPane keyReleased > " +arg0.getKeyCode()+" "+arg0.getKeyText(arg0.getKeyCode()));

}

Соседние файлы в папке Заочники 2020-2021