Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package views;
- import controllers.CountryController;
- import java.awt.HeadlessException;
- import java.awt.Image;
- import java.io.File;
- import javax.swing.ImageIcon;
- import javax.swing.JFileChooser;
- import javax.swing.filechooser.FileNameExtensionFilter;
- import javax.swing.table.DefaultTableModel;
- import models.Country;
- /**
- *
- * @author Admin
- */
- public class AddBankNotes extends javax.swing.JDialog {
- private final CountryController countryController;
- private ImageIcon imgBanknote;
- /**
- * Creates new form AddBankNotes
- * @param parent
- * @param modal
- */
- public AddBankNotes(java.awt.Frame parent, boolean modal) {
- super(parent, modal);
- initComponents();
- countryController = new CountryController();
- loadCountries();
- }
- /**
- * This method is called from within the constructor to initialize the form.
- * WARNING: Do NOT modify this code. The content of this method is always
- * regenerated by the Form Editor.
- */
- @SuppressWarnings("unchecked")
- // <editor-fold defaultstate="collapsed" desc="Generated Code">
- private void initComponents() {
- jLabel1 = new javax.swing.JLabel();
- jLabel2 = new javax.swing.JLabel();
- comboCountry = new javax.swing.JComboBox<>();
- btnInsertar = new javax.swing.JButton();
- jScrollPane1 = new javax.swing.JScrollPane();
- taula = new javax.swing.JTable();
- btnAceptar = new javax.swing.JButton();
- btnCancelar = new javax.swing.JButton();
- setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
- setTitle("Añadir a la colección");
- setMinimumSize(new java.awt.Dimension(800, 400));
- jLabel1.setFont(new java.awt.Font("Tahoma", 1, 16)); // NOI18N
- jLabel1.setText("Añadir billetes a la colección");
- jLabel2.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
- jLabel2.setText("País:");
- comboCountry.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
- btnInsertar.setText("Insertar imagenes");
- btnInsertar.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- btnInsertarActionPerformed(evt);
- }
- });
- taula.setModel(new javax.swing.table.DefaultTableModel(
- new Object [][] {
- },
- new String [] {
- "Imagen", "Descripción"
- }
- ) {
- Class[] types = new Class [] {
- java.lang.Object.class, java.lang.String.class
- };
- /*
- boolean[] canEdit = new boolean [] {
- false, true
- };
- */
- public Class getColumnClass(int columnIndex) {
- return types [columnIndex];
- }
- /*public boolean isCellEditable(int rowIndex, int columnIndex) {
- return canEdit [columnIndex];
- }*/
- /*public boolean isCellEditable(int row, int column){
- return column != 0;
- }*/
- });
- taula.setRowHeight(120);
- jScrollPane1.setViewportView(taula);
- btnAceptar.setText("Aceptar");
- btnAceptar.setToolTipText("");
- btnAceptar.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- btnAceptarActionPerformed(evt);
- }
- });
- btnCancelar.setText("Cancelar");
- btnCancelar.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- btnCancelarActionPerformed(evt);
- }
- });
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
- getContentPane().setLayout(layout);
- layout.setHorizontalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addContainerGap()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jScrollPane1)
- .addGroup(layout.createSequentialGroup()
- .addComponent(jLabel2)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(comboCountry, 0, 591, Short.MAX_VALUE))
- .addGroup(layout.createSequentialGroup()
- .addComponent(jLabel1)
- .addGap(0, 0, Short.MAX_VALUE))
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
- .addGap(0, 0, Short.MAX_VALUE)
- .addComponent(btnCancelar)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(btnAceptar))
- .addComponent(btnInsertar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- .addContainerGap())
- );
- layout.setVerticalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(jLabel1)
- .addGap(18, 18, 18)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel2)
- .addComponent(comboCountry, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(btnInsertar)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 411, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(btnAceptar)
- .addComponent(btnCancelar))
- .addContainerGap())
- );
- pack();
- }// </editor-fold>
- private void btnCancelarActionPerformed(java.awt.event.ActionEvent evt) {
- dispose();
- }
- private void btnAceptarActionPerformed(java.awt.event.ActionEvent evt) {
- // TODO add your handling code here:
- }
- private void btnInsertarActionPerformed(java.awt.event.ActionEvent evt) {
- try{
- JFileChooser chooser = new JFileChooser(System.getProperty("user.home") + "/Desktop");
- chooser.setMultiSelectionEnabled(true);
- FileNameExtensionFilter filter = new FileNameExtensionFilter(
- "*.jpg, *.png, *.bmp, *.jpeg", "jpg", "png", "bmp", "jpeg");
- chooser.setFileFilter(filter);
- int returnVal = chooser.showOpenDialog(this);
- if(returnVal == JFileChooser.APPROVE_OPTION) {
- File[] files = chooser.getSelectedFiles();
- String[] columnNames = {"Imagen", "Descripción"};
- Object[][] data = new Object[files.length][2];
- int contador = 0;
- for(File imatge: files){
- if(accept(imatge)){
- imgBanknote = new ImageIcon( new ImageIcon(imatge.getAbsolutePath()).getImage().getScaledInstance(150, 120, Image.SCALE_SMOOTH));
- data[contador][0] = imgBanknote;
- data[contador][1] = imatge;
- contador++;
- }
- }
- DefaultTableModel model = new DefaultTableModel(data, columnNames){
- // Returning the Class of each column will allow different
- // renderers to be used based on Class
- @Override
- public Class getColumnClass(int column) {
- return getValueAt(0, column).getClass();
- }
- @Override
- public boolean isCellEditable(int row, int column){
- return column != 0;
- }
- };
- taula.setModel(model);
- taula.setPreferredScrollableViewportSize(taula.getPreferredSize());
- }
- }
- catch(HeadlessException e){
- System.out.println(e);
- }
- }
- public boolean accept(File f) {
- String extension = getFileExtension(f.getName());
- if (extension != null) {
- if (extension.equals("JPG") ||
- extension.equals("PNG") ||
- extension.equals("BMP") ||
- extension.equals("JPEG")) {
- return true;
- }
- else {
- return false;
- }
- }
- return false;
- }
- private String getFileExtension(String name) {
- try {
- return name.substring(name.lastIndexOf(".") + 1).toUpperCase();
- }
- catch (Exception e) {
- System.out.println(e);
- return "";
- }
- }
- private void loadCountries(){
- Country[] countries = countryController.getCountries();
- for(Country country : countries){
- comboCountry.addItem(country.getName());
- }
- }
- /**
- * @param args the command line arguments
- */
- public static void main(String args[]) {
- /* Set the Nimbus look and feel */
- //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
- /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
- * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
- */
- try {
- for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
- if ("Nimbus".equals(info.getName())) {
- javax.swing.UIManager.setLookAndFeel(info.getClassName());
- break;
- }
- }
- } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) {
- java.util.logging.Logger.getLogger(AddBankNotes.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- }
- //</editor-fold>
- //</editor-fold>
- /* Create and display the dialog */
- java.awt.EventQueue.invokeLater(() -> {
- AddBankNotes dialog = new AddBankNotes(new javax.swing.JFrame(), true);
- dialog.addWindowListener(new java.awt.event.WindowAdapter() {
- @Override
- public void windowClosing(java.awt.event.WindowEvent e) {
- System.exit(0);
- }
- });
- dialog.setVisible(true);
- });
- }
- // Variables declaration - do not modify
- private javax.swing.JButton btnAceptar;
- private javax.swing.JButton btnCancelar;
- private javax.swing.JButton btnInsertar;
- private javax.swing.JComboBox<String> comboCountry;
- private javax.swing.JLabel jLabel1;
- private javax.swing.JLabel jLabel2;
- private javax.swing.JScrollPane jScrollPane1;
- private javax.swing.JTable taula;
- // End of variables declaration
- }
Add Comment
Please, Sign In to add comment