Задачка на создание простого gui

  • Автор темы Hehabr
  • Дата начала
H

Hehabr

Приветствую. Пришла пора изучать GUI. Решаем задачку. Подскажите кто чем может.

Задача: Создать окно с полями ввода, куда будет вводиться текст; Местом для картинки; Кнопкой, при нажатии на которую будет открываться второе окно.
Вот такая нужна картинка:

6652519.jpg


Код вот такой пока: // Окно создаётся, но расположение элементов сильно хромает.
Что нужно ещё добавить чтобы получилось как на картинке к заданию?

Код:
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();
		}
	}
 
}
 
S

Stashevckiy

ну, тебе нужно юзать лайауты, чтобы элементы GUI располагались равномерно, как ты хочешь на этой картинке, ну или через абсолют лайаут забить расположение элементов на окне
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!