1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
|
package hci2;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
import javax.swing.border.BevelBorder;
public class Interface extends JFrame implements ActionListener {
//Variables
//Panel
private JPanel RootPanel = new JPanel();
private JPanel LeftMenuPanel = new JPanel();
private JPanel TopMenuPanel = new JPanel();
//Label
JLabel imageLabel = new JLabel();
//ImageIcon
//Button
JButton openButton = new JButton("Open an image...");
//JFileChooser
JFileChooser fileChooser = new JFileChooser();
//String
private String currentFile;
private static final long serialVersionUID = 1L;
public Interface() {
this.setTitle("HCI: Exercise 4");
this.setSize(400,400);
this.openButton.addActionListener(this);
this.LeftMenuPanel.add(openButton);
//Panel for the rest
RootPanel.setBorder(new BevelBorder(BevelBorder.RAISED));
RootPanel.setLayout(new GridLayout(1,1));
this.getContentPane().add("Center", RootPanel);
this.getContentPane().add("West", LeftMenuPanel);
this.getContentPane().add("North", TopMenuPanel);
}
@Override
public void actionPerformed(ActionEvent e) {
//Handle open button action.
if (e.getSource() == openButton) {
int returnVal = fileChooser.showOpenDialog(this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fileChooser.getSelectedFile();
String path = file.getPath();
path = path.replace("\\","\\\\");
//This is where a real application would open the file.
currentFile = path;
System.out.println(path);
this.refresh(path);
} else {
}
}
}
public void refresh(String path) {
// Picture
/*
JLabel picture = new JLabel();
picture.setHorizontalAlignment(SwingConstants.CENTER);
Icon icon = new IconJAI();
*/
ImageIcon image = new ImageIcon(path);
imageLabel.setText(null);
imageLabel.setIcon(image);
// Container imagePanel = new JPanel(); //use FlowLayout
// imagePanel.add(imageLabel);
this.RootPanel.removeAll();
this.RootPanel.add(imageLabel);
//this.getContentPane().add(imagePanel);
//this.pack();
//this.setVisible(true);
}
static public void main(String args[]){
Interface j = new Interface();
j.setVisible(true);
j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
} |
Partager