我一個名爲MyPanel擴展JPanel,使用網格佈局類。每個單元格包含一個單一的部件(一個JComboBox,JTextField,JLabel)。過多的JPanel元件尺寸
我的主類,擴展JFrame中,使用的GridBagLayout。當我加入MyPanel它,它佔用了大量的空間(所有窗口去我的桌面空間之外的水平)。我該如何解決? 這是我mainclass
public Client() {
super("title");
setResizable(false);
Container main_container = getContentPane();
GridBagLayout layout = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
main_container.setLayout(layout);
MyPanel jpanel_acquisto = new MyPanel();
c.gridx = 0;
c.gridy = 0;
c.anchor = GridBagConstraints.FIRST_LINE_START;
c.fill = GridBagConstraints.NONE;
layout.setConstraints(jpanel_acquisto, c);
main_container.add(jpanel_acquisto);
pack();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
MyPanel構造
super();
this.setLayout(new GridLayout(2,5));
combo_box_produttori = new JComboBox(lista_produttori);
combo_box_magazzini = new JComboBox(lista_magazzini);
descrizione = new JTextField("120 caratteri max", DESCRIPTION_MAX_LENGHT);
label_descrizione = new JLabel("Descrizione");
quantita_prodotti = new JTextField(20);
label_quantità = new JLabel("Numero prodotti");
salva_acquisto = new JButton("Salva acquisto");
this.add(Box.createGlue());
this.add(label_descrizione);
this.add(label_quantità);
this.add(Box.createGlue());
this.add(Box.createGlue());
this.add(combo_box_produttori);
this.add(descrizione);
this.add(quantita_prodotti);
this.add(combo_box_magazzini);
this.add(salva_acquisto);
用了知道什麼是在jpanel_acquisto或如何它擺出來,這是不可能知道是什麼問題 – MadProgrammer
我已經貼也MyClass的構造 – giozh