Jak mogę umieścić obiekt w określonej lokalizacji (x, y) na JFrame?Jak umieścić obiekt w określonej lokalizacji (x, y) na JFrame?
Odpowiedz
Tutaj można znaleźć Absolute Positioning Tutorials. Proszę czytać uważnie, dlaczego takie podejście jest odradzane przez użyciem LayoutManagers
Aby dodać powiedzieć JButton do JPanel, można użyć to:
JButton button = new JButton("Click Me");
button.setBounds(5, 5, 50, 30);
panel.add(button);
Tutaj wypróbować ten przykładowy program:
import java.awt.*;
import javax.swing.*;
public class AbsoluteLayoutExample
{
private void displayGUI()
{
JFrame frame = new JFrame("Absolute Layout Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel contentPane = new JPanel();
contentPane.setOpaque(true);
contentPane.setBackground(Color.WHITE);
contentPane.setLayout(null);
JLabel label = new JLabel(
"This JPanel uses Absolute Positioning"
, JLabel.CENTER);
label.setSize(300, 30);
label.setLocation(5, 5);
JButton button = new JButton("USELESS");
button.setSize(100, 30);
button.setLocation(95, 45);
contentPane.add(label);
contentPane.add(button);
frame.setContentPane(contentPane);
frame.setSize(310, 125);
frame.setLocationByPlatform(true);
frame.setVisible(true);
}
public static void main(String... args)
{
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
new AbsoluteLayoutExample().displayGUI();
}
});
}
}
Sprawdź tę bezwzględną próbki kodu układ:
+1, widziałem ten tutorial gdzieś indziej, po prostu nie pamiętam gdzie :-) –
W klasie dziedziczenie Rama:
setLayout(null);
w twojej części:
setLocation(x,y);
nie działa ... – whiteberryapps
+1, ładna wskazówka :-) –
Obawy: 1) musisz ustawić układ panelu treści JFrame, a nie samą ramkę JFrame. 2) Jeśli układ kontenera ma wartość NULL, to koder jest całkowicie odpowiedzialny zarówno za lokalizację *, jak i * rozmiar dodawanych komponentów. 3) Powinieneś dodać zastrzeżenie dotyczące unikania używania układu zerowego i pozycjonowania absolutnego. –
Spróbuj te 2 ... w połączeniu ze sobą ...
setLocation()
i setBounds()
Jeszcze lepiej jest używać GroupLayout, opracowanego przez zespół NetBeans w 2005 roku. WindowsBuilder Pro jest dobrym narzędziem do budowy Gui w języku Java
+1, chciałbym móc zrozumieć GroupLayout, bez wątpienia jednego z NAJLEPSZYCH Managerów Układów wokół –
@nIcEcOw: majsterkowanie w edytorze GUI NetBeans i zbadanie wygenerowanego kodu to jeden sposób na eksperymentowanie z 'GroupLayout'. – trashgod
@trashgod: Interesujący pomysł, przeciągnij/upuść na IDE, eksperymentuj i baw się z kodem, jak zwykle. To jedna wspaniała rada, dzięki :-) –
- 1. Jak mogę przetestować kliknięcie przy określonej współrzędnej x, y?
- 2. Jak umieścić widok tekstowy za pomocą pozycji x, y
- 3. Dziwactwo rubowe: x == y && [x, y] .uniq == [x, y]
- 4. Umieszczanie przycisków w określonej lokalizacji przy użyciu funkcji swing w języku Java
- 5. Jak przewinąć do określonej lokalizacji w JScrollPane
- 6. Jak zapisać zmienną w określonej lokalizacji pamięci?
- 7. Jframe nie zamknie się na "X"
- 8. Jak umieścić procedurę przechowywaną w wybranej lokalizacji?
- 9. x, y = getPos() vs. (x, y) = getPos()
- 10. Umieść komponenty na dowolnych współrzędnych (x, y).
- 11. Jak zrobić pętlę nieskończoną z "x <= y && x > = y && x! = Y"?
- 12. Czy istnieje sposób na znalezienie nazwy div na podstawie lokalizacji (kable x, y)?
- 13. Jak znaleźć x, y lokalizację tekstu w pdf
- 14. jak mapować punkty siatki 2d (x, y) na kuli jako punkty 3d (x, y, z)
- 15. Kombinacje trzech liczb dodatnich x, y, z tak, że x + y, x-y, y + z, y-z, x + z i x-z są idealnymi kwadratami
- 16. znajdź lokalizację {x, y} tekstu w uilabel
- 17. Wyłączanie modułu HttpModule w określonej lokalizacji
- 18. Jak porównać x i y w F #?
- 19. Kiedy używać std :: hypot `(x, y)` `nad std :: sqrt (x * x + y * y)`
- 20. dla x w y(): jak to działa?
- 21. (x: y) operator Julia
- 22. Jak zmienić ciąg znaków w obiekt lokalizacji?
- 23. Jak dodać znak w określonej lokalizacji w ciągu znaków?
- 24. Jak umieścić obiekt przed kamerą w THREE.JS?
- 25. Dlaczego argumenty atan2 Y, X zamiast X, Y?
- 26. Jak wyrównać oś X na Y = 0 w R?
- 27. Punkt na linii najbliżej x, y
- 28. Użycie directlabeli na wykresie x, y-scatter
- 29. jak umieścić obiekt Location w Parceli
- 30. Qt Jak znaleźć obiekt na widgecie za pomocą pozycji x() i y()
co to jest "okienko"? czy mogę zamiast tego użyć JPanel? – whiteberryapps
To nie działa ... – whiteberryapps
@ user1441845: Oglądaj tę ostatnią edycję, jak możesz jej używać z 'JPanel' :-) Zapomniałem Ci powiedzieć, że musisz napisać' panel.setLayout (null) ', chociaż wspomniałem o tym w tym przykładzie kodu teraz :-) –