Ahoj, chtěl bych se zeptat jak fixně nastavit velikost JPanelu, aby se nepřizpůsoboval JFrame - asi pomocí setPreferredSize, že?
Co dělám špatně?
Díky, N.
import java.awt.*;
import javax.swing.*;
public class De {
public static void main(String[] args){
Nova apl = new Nova();
}
}
class Nova extends JFrame{
JPanel panel = new JPanel();
public Nova(){
panel.setBackground(Color.black);
panel.setPreferredSize( new Dimension(100, 100));
getContentPane().add(panel);
Výsledkem má být okno, které budu libovolně zvětšovat/ zmenšovat, ale JPanel do kterého budou vloženy další komponenty zůstane pořád stejně velký. Tzn. nechci aby se mně JButony a JTextArea libovolně potulovaly po ploše.
Pokud se nepletu, tak Frame má jako implicitní layout BorderLayout, takže vložený pouze jeden panel se bude roztahovat přes celou oblast okna. Panel má implicitně FlowLayout, takže můžeš mu zkusit nastavit FlowLayout i u Frame, jestli si pak panel ponechá velikost komponent do něj vložených a nebude se měnit dle změny velikosti okna. Chce to zkusit. Pokud chceš komponenty v panelu pod sebe, tak použij GridLayout atd. atd.