Przez ostatnie trzy tygodnie poznałem trochę języka Java za sprawą projektu na przedmiot pt. Programowanie obiektowe. Napotkałem kilka “problemików”, których rozwiązanie zajęło mi trochę czasu, mimo iż posiadam dobrą literaturę oraz potrafię korzystać z Goglownicy. Problemy te przedstawię w sposób podobny do redagowania tzw. FAQ.
Problem: setLocation() i setSize() nie działają!
Chciałbyś (chciałabyś) zmienić rozmiar np. przycisków, jednak wywołanie przycisk.setSize() nie zmienia jego rozmiaru. Wywołujesz setLocation(), jednak element nie zmienia swojego położenia.
Rozwiązanie:
Wywołaj setLayout (null).
Przykładowy kod:
public class PanelMenuGlowne extends JPanel
{
public PanelMenuGlowne ()
{
this.setLayout (null);
JButton przycisk = new JButton ("Testowy przycisk");
przycisk.setLocation (30, 100);
przycisk.setSize (100, 30);
this.add(przycisk);
}
}
Problem: Po kliknięciu krzyżyka [X] okno się zamyka, mimo że zdefiniowałem własny WindowListener / WindowAdapter
Chciałbyś (chciałabyś) wyświetlić okno dialogowe z pytaniem, czy zamknąć program. Jakkolwiek użytkownik programu nie odpowie - program się zamyka:
addWindowListener( new WindowAdapter () {
public void windowClosing (WindowEvent z)
{
if (JOptionPane.showConfirmDialog
(null, "Czy na pewno?", "Wyjście z programu", JOptionPane.YES_NO_OPTION) == 0)
{
System.exit (0);
}
}
}
);
Rozwiązanie:
Przed addWindowListener() dodaj:
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);


0 responses so far ↓
There are no comments yet...Kick things off by filling out the form below.
Leave a Comment