*/
import j ava.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.plaf.*;
Import j ava.awt.event.KeyListener;
import java.util.EventListener;
import java.awt.event.KeyEvent;
public class Ir3a extends JFrame { public static int STEP = 5; /**
* Елементиграфічногоінтерфейсукористувача
*/
JMenuBar Mb; // Полосаменю
JMenu GameMenu, OptionsMenu, HelpMenu; // Підменю
JMenuItem mi_New, mi_Exit, mi_About, mi_Sun, mi_Win, mi_Lin; // Пунктименю
AboutBox AB; // додатковевікно
MyPanel mainPanel; // нашапанель, вніймиперевизначаємометодpaintComponent
JPanel topPanel, bottomPanel; // верхнятанижнястандартніпанелі
JRadioButton bl, Ь2, bStar; // Радіокнопки (залежнікнопки)
JCheckBox cbl; // CheckBox (незалежнакнопка)
ButtonGroup bg; // Групазалежнихкнопок (воналишелогічноіснує)
JTextField tf; // Поледлявведеннятексту
JButton button; // Простакнопка
Eventer ev; // Клас, щомистворюємодляобробкидійвпрограмі
Star star; /**
* КласMyPanel- внутрішнійкласнашоїпрограми
* вінможевикористовуватидані, щоописані
* впервинномукласінашоїпрограми (Ь1, Ь2, cbl, tf)
*/
class MyPanel extends JPanel {
public void paintComponent(Graphics g) {
super.paintComponent(g); // викликаємометодпредка if (bl.isSelectedO ) {
if (cbl.isSelectedO) g.fillOval(0,0,100,100); else g.drawOval(0,0,100,100); } else if (b2.isSelected()) {
if (cbl.isSelectedO) g.fillRect (0, 0, 100, 100) ; else g.drawRect(0,0,100,100); } else star.draw(g); g.drawstring(tf.getText(),10,150); } }
2
Об'єктно-орієнтоване програмування Java2
/**
* КласEventer—внутрішнійкласнашоїпрограми
* вінобробляєдії, щовикликаніелементами,
* щорозміщеніувікнінашоїпрограми
*/
class Eventer implements ActionListener, KeyListener { public void actionPerformed(ActionEvent e) {
if (e.getSource()==bl || e.getSource ()==b2 || e.getSource()==bStar ||
e.getSource()==cbl || e.getSource()==button ) repaint(); }
public void keyTyped(KeyEvent e) { // TODO: Add your code here
}
public void keyPressed(KeyEvent e) { // TODO: Add your code here switch (e.getKeyCode()) { // Якуклавішунатиснули?
case KeyEvent.VK_LEFT : star.moveBy(-STEP, 0); break;
case KeyEvent.VK_RIGHT : star.moveBy(STEP, 0); break;
case KeyEvent.VK_UP : star.moveBy(0, -STEP); break;
case KeyEvent.VK_DOWN : star.moveBy(0, STEP); break;
case KeyEvent.VK_PAGE_UP : star.changeSize(STEP); break;
case KeyEvent.VK_PAGE_DOWN : star.changeSize(-STEP); break;
case KeyEvent.VK_HOME : star.rotate(STEP); break;
case KeyEvent.VK_END : star.rotate(-STEP); break; }
repaint(); }
public void keyReleased(KeyEvent e) {
// TODO: Add your code here )
}
/* *
* КласAboutBox- внутрішнійкласнашоїпрограми
* вінможебутипотрібендляствореннядодатковоговікнапрограми
*/
class AboutBox extends JFrame { public AboutBox() { super();
setSize(300,200); } public void paint (Graphics g) {
g.drawstring("Лабораторна робота З",100,100); } }
З
Об'єктно-орієнтоване програмування Java2
publicIr3a() {
// необхіднийанонімнийкласдлякоректногозавершенняпрограми addWindowListener(newWindowAdapter() {
public void windowClosing(WindowEvent e) { dispose(); System.exit(0); } });
AB = new AboutBox(); // Створюємододатковевікно
AB.setTitle("Про програму");
Mb = newJMenuBar(); // Створюємопанельголовногоменю
GameMenu = newJMenu("Гра"); // Створюємоменю
mi_New = newJMenuItem("Нова"); // Створюємопунктменю mi_Exit = newJMenuItem("Вихід"); // Створюємопунктменю // Длядеякихпунктівменюстворюємоанонімнікласипрослуховуваннядій mi_Exit.addActionListener(newActionListener() { publicvoidactionPerformed(ActionEvent e) { dispose (); System.exit(0); }
});
// Додаємоствореніпунктименюдосамогоменю GameMenu.add(mi_New); GameMenu.add(mi_Exit); // Додаємоменюдопанеліголовногоменю Mb.add(GameMe nu);
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.