Java'da bir şifre üreticisi oluşturdum ve mükemmel çalışıyor. İşlevlerim çalışıyor (çok fazla gözyaşı, ter ve kandan sonra :)), ama kalan tek sorun benim GUI'mizin düzeni. düğmeleri için başlık formunda Swing'de BorderLayout Java düzgün çalışmıyor
- 1 bölmesi (Üst/Kuzey):
Benim yaklaşımım şu oldu ve textfield
Bu sonuç
olduğunuGördüğünüz gibi bunu istediğim gibi değil. Ama eğer koduma bakarsam, yukarıdan aşağıya doğru güzelce yerleştirilmelidir.
Bu sorun nereye gitti?
Kodum:
(JFrame uzanır) yapıcı
public PasswordGenerator(){
this.setContentPane(ContentPane());
this.setSize(500,270);
this.setResizable(true);
this.setVisible(true);
}
bölmeleri:
private JPanel ContentPane()
{
JPanel ContentPane = new JPanel();
ContentPane.add(getTopPane(), BorderLayout.NORTH);
ContentPane.add(getCenterPane(),BorderLayout.CENTER);
ContentPane.add(getSouthPane(),BorderLayout.EAST);
return ContentPane;
}
private JPanel getTopPane(){
JPanel TopPane = new JPanel();
JLabel intro = new JLabel("Password generator V1.0");
intro.setFont(new Font("TimesRoman",Font.BOLD,20));
TopPane.setLayout(new GridLayout(1,1));
TopPane.add(intro);
return TopPane;
}
private JPanel getCenterPane(){
JPanel CenterPane = new JPanel();
CenterPane.add(aantalChars);
CenterPane.setLayout(new GridLayout(6,3));
//8,2
hidden.setVisible(false);
hiddenL.setVisible(false);
CenterPane.add(aantalCharsLabel);
CenterPane.add(hidden);
CenterPane.add(hidden);
CenterPane.add(hiddenL);
CenterPane.add(lowerCase);
CenterPane.add(lowerCaseLabel);
CenterPane.add(upperCase);
CenterPane.add(upperCaseLabel);
CenterPane.add(numberCase);
CenterPane.add(numberCaseLabel);
CenterPane.add(symbolCase);
CenterPane.add(symbolCaseLabel);
return CenterPane;
}
JPanel varsayılan olarak FlowLayout kullanır, senin ContentPane yöntemiyle – MadProgrammer
daha yakından bakmak ben yöntemi ContentPane.setLayout (yeni BorderLayout()) denedik ama bir verir GUI'nin daha çılgın bir görünümü. –
Bileşenleri eklemeden önce mi, sonra mı eklediniz? Herhangi bir bileşen eklemeden önce onu ayarlamanız gerekecek – MadProgrammer