Font size
WorksheetsПрактика по Java: ввод-вывод и AWT
Total questions: 45
Worksheet time: 23mins
Создать временный файл
try Files.createTempFile() или File.createTempFile()
new File("temp")
new TempFile()
Files.createFile("temp")
File.temp()
Рекурсивно создать все каталоги по пути
file.mkdirs()
file.mkdir()
Files.createDirectories()
file.createPath()
file.makePath()
Что выведет код? try (PrintWriter pw = new PrintWriter("test.txt")) { pw.println("Первая строка"); System.out.println("Записано"); System.exit(0); } catch (Exception e) { System.out.println("Ошибка"); } System.out.println("Конец");
Записано (в файл ничего не попадёт, finally не выполнится)
Записано + Конец
Записано + Первая строка в файл
Ошибка
Ничего не выведет
Что произойдёт при выполнении? try (PrintWriter pw = new PrintWriter("test.txt")) { pw.println("Hello"); } System.out.println(new Scanner(new File("test.txt")).nextLine());
Выведет «Hello»
FileNotFoundException
Ничего не выведет
NoSuchElementException
NullPointerException
Какой код гарантированно закроет файл?
try (Scanner sc = new Scanner(new File("f.txt")) ) { ... }
Scanner sc = new Scanner(new File("f.txt")); ... sc.close();
Scanner sc = new Scanner("f.txt");
new Scanner(new File("f.txt")).close();
Scanner sc = null;
Полное название AWT
Abstract Window Toolkit
Advanced Window Toolkit
Automatic Window Toolkit
Application Window Tools
Android Window Toolkit
В каком пакете находятся классы AWT?
java.awt
javax.swing
java.swing
java.gui
java.desktop
Какой класс нужно унаследовать для создания простого окна в AWT?
Frame
JFrame
Window
Panel
Dialog
Чтобы окно появилось на экране, вызываем
setVisible(true)
show()
display()
open()
setShown(true)
Чтобы отреагировать на нажатие крестика окна, добавляем
WindowListener
ActionListener
MouseListener
KeyListener
ClickListener
Метод, который срабатывает при попытке закрыть окно
windowClosing
windowClosed
windowOpened
Чтобы полностью завершить программу, используем
System.exit(0)
System.stop()
System.close()
System.end()
System.finish()
Метод, в котором рисуем линии, круги и текст
paint(Graphics g)
draw(Graphics g)
render()
update()
display()
Тип параметра, который приходит в метод paint()
Graphics
Graphics2D
Image
Canvas
Paint
Как нарисовать прямую линию?
g.drawLine(x1, y1, x2, y2)
g.line(x1, y1, x2, y2)
g.draw(x1, y1, x2, y2)
g.stroke(x1, y1, x2, y2)
g.paintLine()
Как нарисовать прямоугольник (только контур)?
g.drawRect(x, y, w, h)
g.rectangle()
g.drawRectangle()
g.rect()
g.box()
Как нарисовать закрашенный прямоугольник?
g.fillRect(x, y, w, h)
g.drawRect()
g.solidRect()
g.paintRect()
g.rectFill()
Как нарисовать круг?
g.drawOval(x, y, ширина, ширина)
g.circle()
g.drawCircle()
g.ellipse()
g.round()
Как вывести текст на экран?
g.drawString("Привет", x, y)
g.print()
g.write()
g.text()
g.showText()
Как изменить цвет рисования?
g.setColor(Color.RED)
g.color = Color.RED
g.changeColor()
g.paintColor()
g.getPaint()
Как изменить шрифт текста?
g.setFont(new Font("Arial", Font.BOLD, 20))
g.font = new Font()
g.changeFont()
g.textFont()
g.setTextStyle()
Как создать кнопку в AWT?
Button b = new Button("Нажми")
JButton b = new JButton()
new Btn()
new PushButton()
new ClickButton()
Как добавить кнопку (или любой компонент) в окно?
add()
addButton()
insert()
put()
attach()
Как задать размер окна?
setSize(600, 400)
setDimension()
resize()
setWidthHeight()
dimension()
Как задать заголовок окна?
setTitle("Моё окно")
setName()
setHeader()
title()
caption()
Основной пакет для компонентов Swing
javax.swing
java.awt
java.swing
javax.awt
java.gui
Главный класс окна в Swing
JFrame
Frame
Window
JWindow
ApplicationWindow
Как создать окно Swing
JFrame frame = new JFrame();
Frame frame = new Frame();
new Window();
SwingFrame frame = new SwingFrame();
Чтобы окно стало видно
frame.setVisible(true);
frame.show();
frame.display();
frame.open();
frame.setShown(true);
Как задать заголовок окна
frame.setTitle("Моё окно");
frame.setName("Моё окно");
frame.setHeader();
frame.title("Моё окно");
frame.caption();
Как задать размер окна
frame.setSize(800, 600);
frame.size(800, 600);
frame.dimension();
frame.resize();
frame.setBounds();
Кнопка в Swing создаётся классом
JButton
Button
Jbtn
PushButton
ClickButton
Как создать кнопку с текстом «Нажми меня»
JButton btn = new JButton("Нажми меня");
Button btn = new Button("Нажми меня");
new JButton("text");
JButton btn = new Button();
new JBtn("Нажми меня");
Надпись (текст без возможности редактировать) создаётся через
JLabel
JText
Label
JTitle
TextLabel
Как создать надпись «Привет, мир!»
JLabel label = new JLabel("Привет, мир!");
new Label("Привет, мир!");
JLabel label = new Label();
new JText("Привет, мир!");
JLabel label = new TextLabel();
Чтобы добавить компонент (кнопку, надпись) в окно по умолчанию используется
frame.getContentPane().add(компонент);
frame.add(компонент);
frame.insert(компонент);
frame.put(компонент);
frame.attach(компонент);
Действие по умолчанию при закрытии окна JFrame
HIDE_ON_CLOSE
EXIT_ON_CLOSE
DISPOSE_ON_CLOSE
DO_NOTHING_ON_CLOSE
CLOSE_ON_HIDE
Чтобы программа завершалась при закрытии окна, нужно установить
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
setCloseOperation(EXIT);
setExitOnClose(true);
System.exit();
Самый простой менеджер компоновки (все компоненты по центру друг над другом)
FlowLayout
BorderLayout
GridLayout
BoxLayout
CardLayout
Менеджер компоновки, который используется в JFrame по умолчанию
BorderLayout
FlowLayout
GridLayout
Null layout
AbsoluteLayout
Чтобы расположить компоненты слева направо в строке
setLayout(new FlowLayout());
setLayout(new BorderLayout());
setLayout(new GridLayout());
setLayout(null);
setLayout(new BoxLayout());
Чтобы слушать нажатия на кнопку, добавляем
ActionListener
MouseListener
ClickListener
ButtonListener
KeyListener
Как добавить ActionListener к кнопке
btn.addActionListener(e -> { ... });
btn.addListener();
btn.setOnClick();
btn.action();
btn.click();
Чтобы окно появлялось по центру экрана
frame.setLocationRelativeTo(null);
frame.setCenter(true);
frame.center();
frame.setLocation(0,0);
frame.toCenter();
Рекомендуемый способ запуска Swing‑приложения
SwingUtilities.invokeLater(() -> { new MyFrame().setVisible(true); });
new MyFrame().setVisible(true); прямо в main
Runtime.getRuntime().exec();
Thread.start();
directly in constructor
