Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.131.13.37] |
|
Сообщ.
#1
,
|
|
|
Приветствую. Пришла пора изучать GUI. Решаем задачку. Подскажите кто чем может.
… Задача: Создать окно с полями ввода, куда будет вводиться текст; Местом для картинки; Кнопкой, при нажатии на которую будет открываться второе окно. Вот такая нужна картинка: Код вот такой пока: // Окно создаётся, но расположение элементов сильно хромает. Что нужно ещё добавить чтобы получилось как на картинке к заданию? import javax.swing.*; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class View1 extends JFrame { public static void main(String[] args) { new View1(); } // CONSTRUCTOR public View1() { super("View 1"); setDefaultCloseOperation(EXIT_ON_CLOSE); setLayout(new FlowLayout()); // START JLabel labelStart = new JLabel("Введите данные: НАЧАЛО МАРШРУТА"); add(labelStart); JTextField textFieldStartStreet = new JTextField(); add(textFieldStartStreet); JTextField textFieldStartHouse = new JTextField(); add(textFieldStartHouse); JTextField textFieldStartIndex = new JTextField(); add(textFieldStartIndex); JTextField textFieldStartCity = new JTextField(); add(textFieldStartCity); // END JLabel labelEnd = new JLabel("Введите данные: КОНЕЦ МАРШРУТА"); add(labelEnd); JTextField textFieldEndStreet = new JTextField(); add(textFieldEndStreet); JTextField textFieldEndHouse = new JTextField(); add(textFieldEndHouse); JTextField textFieldEndIndex = new JTextField(); add(textFieldEndIndex); JTextField textFieldEndCity = new JTextField(); add(textFieldEndCity); JButton button = new JButton("Сохранить"); add(button); // ADD LISTENERS TO COMPONENTS button.addActionListener(new MyActionListener1()); // ENDCONFIGURATION AFTER VIEW IST BUILD setLocation(100, 100); setSize(700, 700); setVisible(true); } public class MyActionListener1 implements ActionListener { @Override public void actionPerformed(ActionEvent arg0) { new View2(); } } } |
Сообщ.
#2
,
|
|
|
заменить FlowLayout на, например, GridBagLayout
пример использования GridBagLayout: http://www.frolov-lib.ru/programming/javas...es/vol5/vol5_5/ |
Сообщ.
#3
,
|
|
|
Если хотите расположить элемент во фрейме с точностью до пикселя, можно применить
setLayout(null); // далее для каждого объекта фрейма вызвать метод setBounds(x,y,width,height); // где x,y начальная точка а width,height размер Этот вариант самый грубый |