Witam, piszę aplikacje, i chciałbym uzyskać taki efekt JButton i JTextField.
Screen poniżej:
Bardzo proszę o pomoc...
Pozdrawiam, Aifam96!
- obraz.png (115 KB) - ściągnięć: 181
Czy jesteś w 100% pewien tego, że screen pochodzi z programu napisanego w Javie? Bo jeśli tak, to najpewniej jest to jakaś dodatkowa biblioteka. JButton i JTextField nie mają takich funkcji. Zastanawiam się nad JavaFX, ale co do tego nie jestem pewien, bo nigdy w JFX nie pisałem (aczkolwiek wątpię). Na jakieś 99,5% to jest zewnętrzna biblioteka, która nie jest autorstwa Sun/Oracle, na 0,4% to jest dzieło twórcy aplikacji, na 0,1% się mylę i jest to możliwe w JavaFX. W Swingu tego nie znajdziesz.
Powiedz, z jakiego programu to masz?
Dobrze. Zrobiłem ten przycisk i działą świetnie..
Teraz proszę o pomoc jak narysować w javie ten obrazek z zmiennym rozmiarem:
lub całą długość tego pola..
Potrzebowałbym drugi też, ale z odwrócony poziomo.
Zmieniłem całość na JPanel.
Wiem, że można za pomocą Shape, ale tu problem jak to zrobić..
@ShookTea Wszystko się da :)
http://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/ > modyfikowanie L&F
http://napkinlaf.sourceforge.net/ > przykładowy L&F wystarczy na tej podstawie stworzyć nowy.
W tym przypadki zapewne trzeba by było jeszcze dopisać jakiś LayoutManager by to wszystko ładnie na siebie zachodziło.
Koziołek napisał(a):
@ShookTea Wszystko się da :)
http://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/ > modyfikowanie L&F
http://napkinlaf.sourceforge.net/ > przykładowy L&F wystarczy na tej podstawie stworzyć nowy.W tym przypadki zapewne trzeba by było jeszcze dopisać jakiś LayoutManager by to wszystko ładnie na siebie zachodziło.
Dlatego łatwiej by było narysować na jPanel ;)
aifam96 napisał(a):
@Polish Civil - Właśnie chce to zrobić w JPanel. Ale jak to narysować, po przykładach od @Koziołek nie za dużo wiem. Jestem w tym początkujący. :/
Pozdrawiam, Aifam96
JPanel panel = new JPanel(){
paint(Graphics g){
g.drawImage(obrazekButtona,x,y,null);
}
};
panel.addMouseEvent ....
mouse clicked(MouseEvent e){
sprawdzasz czy klika na buttonie
Rectlange(buttonx,buttony,buttonw,buttonh).contains(e.getpoint())
to samo z mouse moved jak chcesz jakąś akcje wywołać np zaciemnianie obrazka
Najlepiej jak zrobisz klase dziedziczącą po JPanel i dasz tam listenery mouse clicked które będą modyfikować metodę Paint(g)
A najlepiej to zrobić klasy Button i TextField które będą w sobie miały metodę paint oraz listenery na klikanie i ruszanie
Wtedy bd miał przejrzysty kod.
(co do przykładów to nwm czy mają odzwierciedlenie w rzeczywistości bo piszę z pamięci)