JFrame resize

TiZi37

Mitglied
Hey Community,
ich bin gerade dabei Java zu lernen und wollte zur Übung ein Programm schreiben, welches Bilder öffnet und ein bischen bearbeiten kann(skalieren etc.) klappt bis jetzt auch alles wunderbar bis auf die eine Tatsache, das wenn ich ein Bild öffne es nicht sofort angezeigt wird, sondern erst wenn ich das JFrame resize. Eclipse sagt mir allerdings, das diese Methode "veraltet" ist. Wie kann ich das Frame den anders "Updaten"? Hier mal mein Code zum öffnen von einem Bild:
Java:
JFileChooser d = new JFileChooser();
					d.setDialogTitle("Öffnen");
					
				
					d.setFileFilter(new FileFilter() {
						@Override
						public boolean accept(File f) {
							return f.isDirectory()
									|| f.getName().toLowerCase().endsWith(".jpg")
									|| f.getName().toLowerCase().endsWith(".gif")
									|| f.getName().toLowerCase().endsWith(".png");
						}

						@Override
						public String getDescription() {
							return "*.jpg;*.gif;*.png";
						}
						
					});
					d.showOpenDialog(null);
					File file = d.getSelectedFile();
					Image image;
					try {
						image = ImageIO.read(file);
						img.setImage(image);

						picBox.setIcon(img);

						panel.add(picBox);
						frame.setTitle("JBiCon: " + String.valueOf(file));
						if(img.getIconHeight() >= 200 && img.getIconWidth() >= 200){
						frame.resize(img.getIconWidth(), img.getIconHeight());
						}
						else{
							frame.resize(200, 200);
						}
						

						frame.add(panel);
						...
 
Du solltest frame.setSize(width, height) verwenden. Wenn es dann noch nicht funktioniert, musst du die JComponent mit dem Bild drauf revalidaten.
 

Zurück
Oben