Jak usunąć przycisk z title panelu, szukałem w dokumentacji JInternalFrame i nie potrafię tego zrobić. Lub chociaż jak nazywa sie ten przycisk lub jego ikona. Przesyłam obrazek na którym jest tylko ten jeden przycisk na panelu u góry po lewej.

- Rejestracja:prawie 16 lat
- Ostatnio:prawie 7 lat
- Postów:274
Z tego co widzę korzystasz z Nimbusa, czyli L&F rozszerzającego Synth'a. Poniższa metoda prawdopodobnie nie jest idealna, ale dla mnie była najprostszą i najszybszą jaką udało mi się swego czasy wymyślić. Rozszerzasz klasę JInternalFrame i nadpisujesz w niej metodę updateUI()
@Override
public void updateUI() {
super.updateUI();
if (getUI() instanceof SynthInternalFrameUI) {
((SynthInternalFrameUI) getUI()).setNorthPane(null);
}
}
Możliwe, że można tego if'a wywołać gdzieś jednorazowo tylko, ale u mnie w kodzie sporo rzeczy z podmianą UI się działo, dlatego w ten sposób.

- Rejestracja:prawie 16 lat
- Ostatnio:prawie 7 lat
- Postów:274
Widzę, że trochę się pomyliłem. Nie potrzebujemy Synth'a, wystarczy nam BasicInternalFrameUI czyli w zasadzie każdy L&F Javowy. Ponieważ setNorthPane()
przyjmuje jako argument dowolny komponent dziedziczący po JComponent możesz tam ustawić co tylko Ci się podoba (np. panel z jednym swoim przyciskiem)

- Rejestracja:prawie 17 lat
- Ostatnio:prawie 5 lat
Trochę sztuczkowe rozwiązanie. Wycinamy z paska fragment leżący obok ikony i mający taki sam rozmiar. Zapisujemy, np . jako Empty.gif. W kodzie
setFrameIcon(new ImageIcon("Empty.gif"));
Pasek nieaktywny ma trochę inny odcień niż aktywny, więc po pierwszym wyświetleniu okna, i po każdym programowym przesunięciu na wierzch (metoda toFront()) trzeba wywołać
setSelected(true);
Lepiej chyba podpiąć do każdego JInternalFrame InternalFrameListenera, a setSelected(true) wywoływać w internalFrameActivated i internalFrameOpened.
Prawdopodobnie trzeba uzależniać "pustą" ikonę od SO. Sprawdziłem przed chwilą na XP, działa znakomicie.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.