Kod jest tak:setBorder na JTextField nie działa? czy to robi?
JTextField txt = new JTextField();
txt.setBorder(BorderFactory.createMatteBorder(2,2,2,2,Color.red));
Jednak pole tekstowe ignoruje moje wezwanie do setBorder
. Brak jakichkolwiek zmian.
miałbym wymienić go na JLabel
(na przykład)
JLabel txt = new JLabel();
txt.setBorder(BorderFactory.createMatteBorder(2,2,2,2,Color.red));
chciałbym zobaczyć czerwoną ramkę.
Czy ktoś może mi powiedzieć, dlaczego? Albo jeszcze lepiej mi wytłumaczyć, jak dodać obramowanie w JTextField
?
To "powinno" działać. Czy używasz JTextField lub niestandardowej klasy, która rozszerza JTextField? Co jeszcze robisz w JTextField? Czy ustawiasz granicę w innym miejscu? – Pace
Potwierdzenie, czy tak się dzieje, czy nie, wymaga dwóch sekund. Szczery. Albo weźmiesz moje słowo, albo napiszesz mały test i zobaczysz dla siebie. W każdym razie inne informacje są następujące: Uimanager jest ustawiony na Windows UIManager.setLookAndFeel ("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); i nie pracuję na klasie, która rozszerza JTextField. Używam samego JTextField. –
"udowodnić" Zachowanie będzie zależało od PL & F, wersji PL & F, platformy, wersji platformy i ewentualnie konfiguracji. Nie tak łatwo to udowodnić. Byłoby łatwiej wypróbować, jeśli dołączono przykład kompilacji. –