Я работаю над небольшим проектом GUI, который строит книжный ясли, чтобы управлять книгой. В моем макете я хочу, чтобы textArea
отображал информацию о моей книге, текст JLabel
под моим textArea
и JTextArea
для ввода информации о том же столбце JLabel
и 1 строки рядом с Label
. Однако, когда я запускаю свою программу, textArea
и Label
полностью покрывают мои textArea
.JTextField укладывается поверх JTextArea
Как исправить эту проблему. Благодаря!!
import java.awt.*;
import javax.swing.*;
public class Design extends JFrame {
JButton button1;
JTextArea outputArea;
JLabel stockLabel, bookPriceLabel;
JTextField stockTextField, priceTextField;
JPanel panel;
GridBagConstraints gc;
public Design(){
super("Book Info");
gc = new GridBagConstraints();
panel = new JPanel();
outputArea = new JTextArea(20, 50);
stockLabel = new JLabel ("Books In Stock");
bookPriceLabel = new JLabel("Book Price");
stockTextField = new JTextField(10);
button1 = new JButton ("button1");
panel.setLayout(new GridBagLayout());
panel.setSize(600, 600);
gc.anchor = GridBagConstraints.NORTHWEST;
gc.weightx = 1;
gc.weighty = 1;
panel.add(outputArea, gc);
gc.gridx = 2;
gc.gridy = 2;
panel.add(stockLabel, gc);
gc.gridx = 3;
gc.gridy = 2;
panel.add(stockTextField, gc);
this.getContentPane().add(panel);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(600,600);
setVisible(true);
setLocationRelativeTo(null);
}
public static void main (String args[]){
Design frame = new Design();
}
}
Хорошо, я получаю большую часть того, что вы говорите, но почему менеджер макета изменит размер моей JTextArea на действительно маленькую коробку, если я установил сторону моего JFrame? Как и у меня в моем коде "setSize (600 600);" – Joefa
Потому что это то, что менеджеры макетов (могут) делать – MadProgrammer
Хорошо, спасибо! – Joefa