Mam problem. Umieściłem w GridBagLayoucie 2 obszary tekstowe i chciałbym żeby podczas wpisywania czegoś po naciśnięciu ENTER, TextArea "tren" oraz "diet" nie rozszerzał mi się w dół.
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.GregorianCalendar;
import javax.swing.*;
class OknoWpiszDane extends JFrame
{
private static final long serialVersionUID = 2331143241L;
private JComboBox<String> godzina;
private JComboBox<String> minuta;
private JComboBox<String> dzien;
private JComboBox<String> miesiac;
private JTextArea tren;
private JTextArea diet;
private JCheckBox alarm;
private JButton zapisz;
private GregorianCalendar terminTren;
private ButtonGroup grupa;
private JRadioButton pm;
private JRadioButton am;
public OknoWpiszDane()
{
setTitle("Edycja treningów");
setSize(450,600);
Toolkit ekran = Toolkit.getDefaultToolkit();
setLocation((ekran.getScreenSize().width/2)-217, (ekran.getScreenSize().height/2)-290);
Container powOpcji = getContentPane();
GridBagLayout ukladOpcji = new GridBagLayout();
powOpcji.setLayout(ukladOpcji);
// dodaj komponenty
JLabel opis_l = new JLabel("Dodaj trening / dietę:");
opis_l.setFont(new OknoGlowne().celF);
opis_l.setBorder(BorderFactory.createEtchedBorder());
JLabel godzina_l = new JLabel("Godzina treningu:");
JLabel dzien_l = new JLabel("Dzień:");
JLabel miesiac_l = new JLabel("Miesiąc:");
JLabel opisTr_l = new JLabel("Opis treningu:");
JLabel opisDiet_l = new JLabel("Opis diety:");
godzina = new JComboBox<String>(OpcjeCzasu.wstawGodziny());
minuta = new JComboBox<String>(OpcjeCzasu.wstawMinuty());
dzien = new JComboBox<String>(new String[]{"lolo","lolo2"});
miesiac = new JComboBox<String>(OpcjeCzasu.wstawMiesiace());
grupa = new ButtonGroup();
pm = new JRadioButton("PM.",true);
am = new JRadioButton("AM.");
grupa.add(pm);
grupa.add(am);
alarm = new JCheckBox("Alarm");
alarm.setEnabled(true);
zapisz = new JButton("Zapisz", new ImageIcon("accepted_48.png"));
terminTren = new GregorianCalendar();
JScrollPane trenSuw = new JScrollPane(tren);
/*************** to te dwa obszary tekstowe, które źle działają */
tren = new JTextArea();
tren.setBorder(BorderFactory.createEtchedBorder());
JScrollPane dietSuw = new JScrollPane(diet);
diet = new JTextArea();
diet.setBorder(BorderFactory.createEtchedBorder());
/****************************************************************/
GridBagConstraints wytyczne = new GridBagConstraints();
// opis okna
wytyczne.weightx = 0;
wytyczne.weighty = 0;
wytyczne.anchor = GridBagConstraints.CENTER;
wytyczne.fill = GridBagConstraints.NONE;
wytyczne.insets = new Insets(20,0,40,0);
dodajKomponent(opis_l, wytyczne, 0, 0, 5,1);
// etykiety do ustalenia daty
wytyczne.insets = new Insets(0,20,0,10);
wytyczne.anchor = GridBagConstraints.EAST;
dodajKomponent(godzina_l, wytyczne, 0, 1, 1,1);
dodajKomponent(dzien_l, wytyczne, 0, 2, 1,1);
dodajKomponent(miesiac_l, wytyczne, 0, 3, 1,1);
// etykiety do ustalenia treningów/diet
wytyczne.insets = new Insets(20,20,0,10);
wytyczne.anchor = GridBagConstraints.NORTHEAST;
dodajKomponent(opisTr_l, wytyczne, 0, 4, 1,1);
dodajKomponent(opisDiet_l, wytyczne, 0, 5, 1,1);
// listy rozwijane oraz radiobuttony do ustalenia daty treningu
wytyczne.insets = new Insets(0,0,10,0);
wytyczne.anchor = GridBagConstraints.WEST;
wytyczne.fill = GridBagConstraints.HORIZONTAL;
wytyczne.weightx = 100;
dodajKomponent(godzina, wytyczne, 1, 1, 1,1);
wytyczne.insets = new Insets(0,30,10,0);
dodajKomponent(minuta, wytyczne, 2, 1, 1,1);
wytyczne.weightx = 0;
wytyczne.insets = new Insets(0,0,10,30);
wytyczne.anchor = GridBagConstraints.EAST;
dodajKomponent(pm, wytyczne, 3, 1, 1,1);
dodajKomponent(am, wytyczne, 4, 1, 1,1);
wytyczne.anchor = GridBagConstraints.WEST;
wytyczne.insets = new Insets(0,0,10,250);
dodajKomponent(dzien, wytyczne, 1, 2, 4,1);
wytyczne.insets = new Insets(0,0,10,60);
dodajKomponent(miesiac, wytyczne, 1, 3, 3,1);
wytyczne.fill = GridBagConstraints.NONE;
wytyczne.anchor = GridBagConstraints.WEST;
/*********** a tu je wstawiam do kontenera ****************/
wytyczne.insets = new Insets(20,0,0,40);
wytyczne.weightx = 100;
wytyczne.weighty = 100;
wytyczne.fill = GridBagConstraints.BOTH;
dodajKomponent(tren, wytyczne, 1, 4, 4,1);
wytyczne.insets = new Insets(20,0,0,40);
dodajKomponent(diet, wytyczne, 1, 5, 4,1);
/***********************************************************/
wytyczne.fill = GridBagConstraints.NONE;
wytyczne.insets = new Insets(0,90,0,90);
wytyczne.anchor = GridBagConstraints.CENTER;
dodajKomponent(zapisz, wytyczne, 0, 6, 5,1);
}
public void dodajKomponent(Component k, GridBagConstraints wytyczne, int kolumna, int wiersz, int ileKolumn, int ileWierszy)
{
wytyczne.gridx = kolumna;
wytyczne.gridy = wiersz;
wytyczne.gridwidth = ileKolumn;
wytyczne.gridheight = ileWierszy;
getContentPane().add(k, wytyczne);
}
}