123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- package ui.view;
- import javax.swing.JDialog;
- import javax.swing.JFileChooser;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import javax.swing.JTextField;
- import javax.swing.filechooser.FileNameExtensionFilter;
- import javax.swing.ImageIcon;
- import javax.swing.JButton;
- import org.eclipse.wb.swing.FocusTraversalOnArray;
- import javafx.scene.image.Image;
- import javafx.stage.FileChooser;
- import java.awt.Component;
- import java.awt.Window;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.io.File;
- import java.awt.BorderLayout;
- import javax.swing.JLabel;
- import javax.swing.JRadioButton;
- import javax.swing.BoxLayout;
- import javax.swing.SwingConstants;
- import java.awt.FlowLayout;
- import java.awt.Choice;
- /**
- * Popup for setting the Background Image for the current View.
- **/
- public class BackgroundPopUp extends JDialog {
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- private final JTextField textPath = new JTextField("");
- private final JButton btnBrowse = new JButton("Browse");
- private JPanel panelImageRadio = new JPanel();
- private String path = "";
- private final JPanel panelBrowse = new JPanel();
- private final JPanel panelOK = new JPanel();
- private final JButton btnOK = new JButton("OK");
- private final JLabel lblImage = new JLabel();
- private double imgScale = 1;
- public BackgroundPopUp() {
- super((java.awt.Frame) null, true);
- this.setTitle("Set View Background");
- setBounds(100, 100, 400, 250);
- getContentPane().add(panelImageRadio, BorderLayout.CENTER);
- panelImageRadio.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
- lblImage.setHorizontalAlignment(SwingConstants.RIGHT);
- panelImageRadio.add(lblImage);
- getContentPane().add(panelBrowse, BorderLayout.NORTH);
- panelBrowse.add(btnBrowse);
- // Browse Row Functions
- btnBrowse.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- JFileChooser fileChooser = new JFileChooser();
- FileNameExtensionFilter filter = new FileNameExtensionFilter("png, jpg or jpeg", "png", "jpg", "jpeg");
- fileChooser.setFileFilter(filter);
- if (fileChooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
- textPath.setText(fileChooser.getSelectedFile().getPath());
- ImageIcon icon = new ImageIcon(textPath.getText());
- imgScale = Math.max(icon.getIconWidth(), icon.getIconHeight()) / 200;
- lblImage.setIcon(new ImageIcon(new ImageIcon(textPath.getText()).getImage().getScaledInstance(
- (int) (icon.getIconWidth() / imgScale), (int) (icon.getIconHeight() / imgScale),
- java.awt.Image.SCALE_SMOOTH)));
- }
- }
- });
- textPath.setEditable(false);
- panelBrowse.add(textPath);
- textPath.setColumns(20);
- panelImageRadio.setFocusTraversalPolicy(new FocusTraversalOnArray(new Component[] { btnBrowse, textPath }));
- getContentPane().add(panelOK, BorderLayout.SOUTH);
- panelOK.add(btnOK);
- }
- }
|