Dodanie zdjęć do ramki

0

Witam. Czy mógłbym mi ktoś odpowiedzieć bądź nakierować w jaki sposób dodać do ramki np 2 zdjęcia? Bezproblemowo dodaję jeden obrazek używając metody getSelectedFile(), natomiast nie do końca wiem jak ma się to z getSelectedFiles(). Tworząc np:
File [] selectedFiles = jFileChooser.getSelectedFiles(); nie wiem co począć dalej.

0

Metoda zmieniająca rozmiar obrazka:
public ImageIcon ResizeImage(String ImPath)
{
ImageIcon imageIcon = new ImageIcon(ImPath);
Image image = imageIcon.getImage();
Image newImag = image.getSelectedInstane(400,450,Image.SCALE_DEFAULT);
ImageIcon myImg = new ImageIcon(newImg);
return myImg;
)

W nasłuchaczu zdarzeń zaimplementowałem:
int result = jFileChooser.showOpenDialog(null);
if(result == jFileChooser.APPROVE_OPTION);
{
File selectedFile = jFileChooser.getSelectedFile();
String path = selectedFile.getAbsolutePath();
label.setIcon(ResizeImage(path));
}

0

Z tego co pamiętam, w Swingu, to jak pchasz Icony do etykiet (Label) to możesz zrobić to w stosunku 1:1.
Jeden obrazek - jeden label. Więc zamiast tego:

label.setIcon(ResizeImage(path));

musiałbyś robić coś w stylu:

JLabel label = new JLabel();
label.setIcon(ResizeImage(path));
mylayout.add(label)

Więc koniec końców musiałbyś mieć coś takiego w "nasłuchiwaczu":

mylabel.clear(); // czy cos tam do usuwania labelow z kontenera GUI, nie pamietam
File [] selectedFiles = jFileChooser.getSelectedFiles();
for(File file : selectedFiles) {
    File selectedFile = jFileChooser.getSelectedFile();
    String path = selectedFile.getAbsolutePath();

    // do mojego kontenera dodaj nowa etykiete z obrazkiem
    JLabel label = new JLabel();
    label.setIcon(ResizeImage(path));
    mylayout.add(label);
}

A tak poza tym uważam że swing powinien zostać zniszczony. #pdk
Jak nie masz konieczności to zostaw Swinga w cholerę i używaj JavaFX ewentualnie rób frontend w webie.

0

Dzięki, dokładnie to samo myślałem, że stosunek chyba powinien być 1:1. Tak,słyszałem,że JavaFX jest dużo lepszym rozwiązaniem, ale ucząc się Javy chciałbym delikatnie i poznać Swinga.

0
ThygeRRR097 napisał(a):

ucząc się Javy chciałbym delikatnie i poznać Swinga.

A po co? Ani to przyjemne ani w tym zarobić nie można

0

Być może, mam takie przeświadczenie, że ucząc się języka chciałbym go w całości poznać. Ale widząc już 2 odpowiedź, która odpycha od Swinga zaczynam się zastanawiać nad zgłębianiem wiedzy na jego temat.

0
ThygeRRR097 napisał(a):

Być może, mam takie przeświadczenie, że ucząc się języka chciałbym go w całości poznać

W samej bibliotece standardowej Javy jest wiele rzeczy nieciekawych i nieprzydatnych (Musisz wiedzieć że Java początkowo była planowana do zupełnie innych zadań niż jest teraz używana) .To już lepiej poświęć na jakieś przydatne, zewnętrzne biblioteki do Javy. Tu masz ciekawą listę Awesome Java

1 użytkowników online, w tym zalogowanych: 0, gości: 1