Как расположить элементы в java?

Я хочу создать калькулятор на java,но не знаю какой метод нужно использовать для расположения компонентов .022fb3730c574658aac3501a9f279741.jpg
import java.awt.*;
import javax.swing.*;

public class Frame extends JFrame {
	JButton b1,b2,b3,b4,b5,b6,b7,b8,b9,b0,bplus,bminus,bmultiplication,
	bsegmentation,bclean,breset,bequils,bcomma;
	JTextField result;
	
	
	public Frame (String s){
		super(s);
		setLayout(new GridLayout(6,4,5,10));
		b1 = new JButton("1");
		b2 = new JButton("2");
		b3 = new JButton("3");
		b4 = new JButton("4");
		b5 = new JButton("5");
		b6 = new JButton("6");
		b7 = new JButton("7");
		b8 = new JButton("8");
		b9 = new JButton("9");
		b0 = new JButton("0");
		bplus = new JButton("+");
		bminus = new JButton("-");
		bmultiplication = new JButton("*");
		bclean = new JButton("CE");
		breset = new JButton("C");
		bequils = new JButton("=");
		bcomma = new JButton(",");
		bsegmentation = new JButton("/");
		result = new JTextField(15);
		add(result);
		add(bplus);
		add(bminus);
		add(bsegmentation);
		add(bmultiplication);
		add(b1);
		add(b2);
		add(b3);
		add(b4);
		add(b5);
		add(b6);
		add(b7);
		add(b8);
		add(b9);
		add(b0);
		add(bcomma);
		add(bclean);
		add(breset);
		add(bequils);
		
	}

}
  • Вопрос задан
  • 4177 просмотров
Пригласить эксперта
Ответы на вопрос 3
@nirvimel
Ответ написан
Комментировать
Sanan07
@Sanan07
Писатель-прозаик
Метод setBounds
Ответ написан
Комментировать
@zelan
Кратко обо мне не получится.
MigLayout - неплохой менеджер раскладки, на странице большая желтая кнопка с описанием как им пользоваться.

GridLayout которым пользуетесь сейчас вы, создает сетку с ячейками одного размера. При помещении элемента в ячейку - он растягивается на весь размер ячейки.

Если размер не важен, и растягивать окно не собираешься, то можно отключить лэйаут и разложить элементы самому задав размеры и координаты.

Например:
public static void main(String[] args) {
        JFrame frame = new JFrame();
        frame.setLayout(new BorderLayout());
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //реальное закрытие программы, при закрытии окна(нажатии на красный крестик) 
        frame.setSize(400, 400);


        //панель для расположения элементов , в конструкторе передается менеджер раскладки, null - AbsoluteLayout ( для добавления компонентов необходимо указывать координаты и размер)
        JPanel panel = new JPanel(null);

        //установка панели во фрейм в центральную часть (панель будет растягиваться на весь фрейм)
        frame.add(panel, BorderLayout.CENTER);
        //текстовое поле
        JTextField field = new JTextField("Text");

        //установка координаты и размеров (x, y, ширина, высота) для компонента (рабо
        field.setBounds(20,20,200,20);

        //добавление поля на панель
        panel.add(field);


        frame.setVisible(true);
    }


Ну а дальше по аналогии
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы