Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package gTest;
- import java.awt.*;
- import java.awt.event.*;
- import java.io.File;
- import javax.swing.*;
- public class PictureLoader extends JFrame implements ActionListener {
- private JFileChooser chooser = new JFileChooser();
- private PicPanel pic = new PicPanel();
- public static void main(String[] args) {
- new PictureLoader().setVisible(true);
- }
- @SuppressWarnings("LeakingThisInConstructor")
- private PictureLoader() {
- super("PictureLoader");
- setLayout(new BorderLayout());
- setLocation(20, 20);
- Container flow = new Container();
- flow.setLayout(new FlowLayout(FlowLayout.CENTER));
- JButton but = new JButton("Select picture");
- but.addActionListener(this);
- flow.add(but);
- add(flow, BorderLayout.NORTH);
- add(pic, BorderLayout.CENTER);
- setDefaultCloseOperation(EXIT_ON_CLOSE);
- setPicture("X:/java/pic/brb.jpg");
- pack();
- }
- private void setPicture(Image i) {
- MediaTracker mt = new MediaTracker(this);
- mt.addImage(i, 0);
- try {
- mt.waitForID(0);
- } catch (Exception ex) {
- ex.printStackTrace(System.out);
- }
- pic.setPicture(i);
- pack();
- repaint();
- setVisible(true);
- }
- private void setPicture(String fileName) {
- Image i = Toolkit.getDefaultToolkit().getImage(fileName);
- setPicture(i);
- }
- @Override
- public void actionPerformed(ActionEvent ae) {
- if (chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
- setPicture(chooser.getSelectedFile().getAbsolutePath());
- }
- }
- private class PicPanel extends JPanel {
- private Image image;
- private void setPicture(Image i) {
- image = i;
- Dimension d = new Dimension(image.getWidth(null), image.getHeight(null));
- setPreferredSize(d);
- setSize(d);
- }
- @Override
- public void paintComponent(Graphics g) {
- g.drawImage(image, 0, 0, null);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement