Java/Библиотека Swing
Внешний вид
< Java
Книга Java
- Начало
- Hello World!
- Комментарии
- Переменные
- Стандартные структуры
- Операторы условий
- Полезные сокращения
- Операторы цикла
- Классы
- Исключения
- Коллекции
- Listeners
- GUI
- Паттерны
- Программы
- Компилирование
Начало
[править]import javax.swing.*; // библиотека графических компонентов
public class Alarm {
public static void main(String[] args) {
JFrame frame = new JFrame("FrameDemo"); // создаём главное окно приложения
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // чтобы процесс завершался после закрытия окна
JButton button1 = new JButton("Button 1"); // создаём кнопку
frame.add(button1); // добавляем кнопку на окно
frame.pack(); // автоматически настраиваем размер окна под содержимое
frame.setVisible(true); // отображаем окно
}
}
кнопка JButton
[править]...
import java.awt.event.*; // импортируем интерфейс ActionListener
class MainFrame extends JFrame implements ActionListener{
@Override
public void actionPerformed(ActionEvent e){ // функция, в которой обрабатываются события всех кнопок
String command = e.getActionCommand();
if( command.equals( "add" )) {
dispose();
System.exit(0);
}
}
public JPanel createMainPanel(){
JButton addBtn = new JButton("Добавить будильник");
addBtn.setActionCommand("add");
addBtn.addActionListener(this); // указываем объект, реализующий интерфейс ActionListener,
// и в котором определён обработчик событий actionPerformed
...
}
таблица JTable
[править] Object rowData[][] = {
{ "1 1", "1 2", "1 3" },
{ "2 1", "2 2", "2 3" }
};
Object columnNames[] = { "Колонка 1", "Колонка 2", "Колонка 3" };
JTable table = new JTable(rowData, columnNames);
frame.add(table);
Контейнеры и разметки
[править]Чтобы разместить на главном окне несколько элементов нужно использовать панели и разметки.
JPanel mainPanel = new JPanel();
mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.PAGE_AXIS));
mainPanel.add(btn);
mainPanel.add(table);
frame.add(mainPanel);
JFrame
[править]заменить панель на фрейме | frame.remove(mainPanel);
frame.add(otherPanel);
frame.invalidate();
frame.validate();
|