Próbuję rozmieścić komponenty i chcę ustawić szerokość w określony sposób. Z tego co rozumiem, program ustawia liczbę "szer. Min: pref: max". Więc w moim przypadku chcę następujące:Szerokość ustawienia z miglayout
Mój problem jest z Comp2. Przestaje rosnąć po około 200px i nie mogę zrozumieć dlaczego, ponieważ nie określam maksymalnej szerokości.
Sprawdziłem również wersję demonstracyjną miglayout, ale nie mam tam dokładnego przykładu. Mają jedno o nieograniczonej szerokości, ale nie o określonej minimalnej szerokości.
Aby upewnić się, że panel się rozszerza, ustawiam tło panelu na szare i widzę, że rozszerza się bez problemu.
Proszę mi powiedzieć, czy coś trzeba wyjaśnić, a ja z chęcią postaram się wyjaśnić lepiej.
EDIT: Tutaj jest SSCCE
import java.awt.Color;
import javax.swing.*;
import net.miginfocom.swing.MigLayout;
public class SSCCE {
public static void main(String[] args) {
JFrame frame = new JFrame();
JPanel panel = new JPanel(new MigLayout(
"",
"[grow, fill]",
""));
panel.setBackground(Color.LIGHT_GRAY);
JButton comp1 = new JButton("Comp1");
JButton comp2 = new JButton("Comp2");
JButton comp3 = new JButton("Comp3");
panel.add(comp1, "width 50:150:150, growx");
panel.add(comp2, "growx");
panel.add(comp3, "width 50:70:70, growx");
frame.add(panel);
frame.pack();
frame.setVisible(true);
}
}
ja nie rosną, ale chcę go do podjęcia wszelkich dostępną przestrzeń, a tak nie jest. Czy może to mieć coś wspólnego z ustawieniami na panelu?
EDIT 2: Za pomocą tego kodu:
panel.add(comp1, "width 50:150:150");
panel.add(comp2, "width 10:n:n");
panel.add(comp3, "width 50:70:70, right");
uzyskać to:
ale chcę środkowy komponent zajmują całą dostępną przestrzeń.
_stops rosnące po około 200px_ nie można odtworzyć: wszystko rośnie (w końcu są o równie wielkości) Najlepszy pokazać SSCCE że demonstruje zachowanie – kleopatra
Mam teraz dodał SSCCE. Każda pomoc jest doceniana. :) – Goatcat
nie do końca rozumiem, dlaczego wszystkie kolumny rosną, jeśli chcesz, aby tylko jeden z nich zajmował całą nadmiar przestrzeni. – kleopatra