java - JfileChooser wont show image selected inside Jpanel -



java - JfileChooser wont show image selected inside Jpanel -

i having no luck getting image show in jpanel when selected using java's jfilechooser. want selected image automatically resized , fit set size of jpanel?

here code have written far. jfilechooser shown in new jframe , want close jframe when image uploaded , viewable in jpanel.

here upload button should open jfilechooser, allow file selected , upload image (to resized, need help in how create image automatically resized), close jframe "frame" when image show in jpanel "picturepanel"?

edit: added sscce of trying accomplish.

i want after "upload" button click, show image sized appropriately (must fit jpanel "picture panel") show image in black bordered panel.

import classes.backgroundpanel; import java.awt.borderlayout; import java.awt.dimension; import java.awt.image; import java.awt.event.actionevent; import java.awt.event.actionlistener; import java.awt.image.bufferedimage; import java.io.*; import javax.swing.*; import javax.imageio.imageio; import javax.swing.filechooser.filenameextensionfilter;

public class test {

public static void main(string[] args) { final jfilechooser chooser = new jfilechooser(); jbutton button = new jbutton(); button.settext("upload"); jframe frame = new jframe("my frame"); final jframe imageframe = new jframe(); frame.setdefaultcloseoperation(jframe.exit_on_close); jfilechooser fc = new jfilechooser(); final test_image t = new test_image(); jpanel panel = new jpanel(); jpanel picturepanel = new jpanel(); // chooser.showopendialog(null); dimension d = new dimension(1261, 765); dimension d2 = new dimension(1300, 900); picturepanel.setborder(javax.swing.borderfactory.createlineborder(new java.awt.color(0, 0, 0))); panel.setborder(javax.swing.borderfactory.createlineborder(new java.awt.color(0, 0, 0))); dimension d3 = new dimension(343, 247); picturepanel.setsize(d3); //picturepanel.setsize(d); panel.add(button); panel.setsize(d3); //panel.setvisible(true); //panel.add(picturepanel); button.addactionlistener(new actionlistener() { public void actionperformed(actionevent e) { if(chooser.showopendialog(imageframe) == jfilechooser.approve_option) { seek { image bi = imageio.read( chooser.getselectedfile()); backgroundpanel bp = new backgroundpanel(bi); if (bi != null) bp.setimage(bi); else joptionpane.showmessagedialog(imageframe, "file not image!"); } grab (ioexception ioe) { joptionpane.showmessagedialog(imageframe, "error reading file!");

} }

} }); frame.setsize(d2); frame.add(picturepanel).setlocation(100, 100); frame.add(panel); frame.setvisible(true); }

}

when dynamically removing/adding components basic code should be:

panel.add(...); panel.revalidate(); panel.repaint();

i don't know if problem because didn't post sscce. post proper sscce if need more help.

need help in how create image automatically resized),

then can't utilize jlabel. need custom painting , utilize graphics.drawimage(....) method.

you can take @ background panel allows draw image scaled or tiled (among other things).

java image swing jpanel jfilechooser

Comments

Popular posts from this blog

iphone - Dismissing a UIAlertView -

intellij idea - Update external libraries with intelij and java -

javascript - send data from a new window to previous window in php -