Problema risolto
import javax.swing.*;
import java.awt.*;
public class Layout extends JFrame{
public Layout() {
JLabel fileNameLabel = new JLabel("AAAAA");
JLabel languageNameLabel = new JLabel("BBBBB");
languageNameLabel.setPreferredSize(new Dimension(80, 20));
JLabel lineNumberLabel = new JLabel("CCCCC");
lineNumberLabel.setPreferredSize(new Dimension(80, 20));
JPanel statusBarPanel = new JPanel();
statusBarPanel.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.weightx = 1;
c.gridx = 0;
c.gridy = 0;
c.fill = GridBagConstraints.HORIZONTAL;
statusBarPanel.add(fileNameLabel, c);
c.weightx = 0;
c.gridx = 1;
c.gridy = 0;
c.fill = GridBagConstraints.NONE;
statusBarPanel.add(languageNameLabel, c);
c.gridx = 2;
c.gridy = 0;
c.fill = GridBagConstraints.NONE;
statusBarPanel.add(lineNumberLabel, c);
getContentPane().setLayout(new BorderLayout());
getContentPane().add(new JTextArea("dsdsdsd sdssd ssdsdsd sdd"), "Center");
getContentPane().add(statusBarPanel,BorderLayout.S OUTH);
this.setSize(400, 200);
this.setVisible(true);
}
public static void main (String[] args) {
new Layout();
}
}
Bisogava azzerare il campo weightx per le variabili lineNumberLabel e languageNameLabel con la seguente linea di codice:
c.weightx = 0;