author Gambla
*/
public class MinhaInterface extends javax.swing.JFrame {
JFileChooser chooser;
Imagem img = null;
ArrayList result = new ArrayList();
@SuppressWarnings(“unchecked”)
//
private void initComponents() {
jFrame1 = new javax.swing.JFrame();
jFrame2 = new javax.swing.JFrame();
jPanel1 = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
jList1 = new javax.swing.JList();
jSeparator1 = new javax.swing.JSeparator();
jPanel2 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
jMenuBar1 = new javax.swing.JMenuBar();
jMenu1 = new javax.swing.JMenu();
Abrir = new javax.swing.JMenuItem();
jMenu2 = new javax.swing.JMenu();
jMenu3 = new javax.swing.JMenu();
jMenuItem1 = new javax.swing.JMenuItem();
jMenuItem2 = new javax.swing.JMenuItem();
jMenuItem3 = new javax.swing.JMenuItem();
jMenuItem4 = new javax.swing.JMenuItem();
jMenuItem5 = new javax.swing.JMenuItem();
jMenu4 = new javax.swing.JMenu();
jMenuItem18 = new javax.swing.JMenuItem();
jMenuItem19 = new javax.swing.JMenuItem();
jMenuItem20 = new javax.swing.JMenuItem();
jMenuItem21 = new javax.swing.JMenuItem();
jMenu5 = new javax.swing.JMenu();
jMenuItem14 = new javax.swing.JMenuItem();
jMenuItem15 = new javax.swing.JMenuItem();
jMenuItem16 = new javax.swing.JMenuItem();
jMenuItem17 = new javax.swing.JMenuItem();
jMenu6 = new javax.swing.JMenu();
jMenuItem6 = new javax.swing.JMenuItem();
jMenuItem7 = new javax.swing.JMenuItem();
jMenuItem8 = new javax.swing.JMenuItem();
jMenuItem9 = new javax.swing.JMenuItem();
jMenu7 = new javax.swing.JMenu();
jMenuItem10 = new javax.swing.JMenuItem();
jMenuItem11 = new javax.swing.JMenuItem();
jMenuItem12 = new javax.swing.JMenuItem();
jMenuItem13 = new javax.swing.JMenuItem();
jFrame1.setIconImage(getIconImage());
javax.swing.GroupLayout jFrame1Layout = new javax.swing.GroupLayout(jFrame1.getContentPane());
jFrame1.getContentPane().setLayout(jFrame1Layout);
jFrame1Layout.setHorizontalGroup(
jFrame1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 400, Short.MAX_VALUE)
);
jFrame1Layout.setVerticalGroup(
jFrame1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 300, Short.MAX_VALUE)
);
javax.swing.GroupLayout jFrame2Layout = new javax.swing.GroupLayout(jFrame2.getContentPane());
jFrame2.getContentPane().setLayout(jFrame2Layout);
jFrame2Layout.setHorizontalGroup(
jFrame2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 400, Short.MAX_VALUE)
);
jFrame2Layout.setVerticalGroup(
jFrame2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 300, Short.MAX_VALUE)
);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Editor De Imagem");
setIconImages(null);
setMaximumSize(new java.awt.Dimension(1920, 1080));
setMinimumSize(new java.awt.Dimension(800, 600));
setPreferredSize(new java.awt.Dimension(800, 600));
jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder());
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 1258, Short.MAX_VALUE)
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 0, Short.MAX_VALUE)
);
jList1.setBorder(javax.swing.BorderFactory.createEtchedBorder());
jList1.setModel(new javax.swing.AbstractListModel() {
String[] strings = { "Layer 1", "Layer 2", "Layer 3", "Layer 4", "Layer 5" };
public int getSize() { return strings.length; }
public Object getElementAt(int i) { return strings[i]; }
});
jList1.setToolTipText("");
jScrollPane1.setViewportView(jList1);
jPanel2.setBorder(javax.swing.BorderFactory.createEtchedBorder());
jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/dry icons/brush.png"))); // NOI18N
jLabel2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/dry icons/bucket.png"))); // NOI18N
jLabel3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/dry icons/grab.png"))); // NOI18N
jLabel4.setIcon(new javax.swing.ImageIcon("C:\\Users\\Gambla\\Documents\\NetBeansProjects\\P4CGPI\\src\\dry icons\\move.png")); // NOI18N
jLabel4.setToolTipText("");
jLabel5.setIcon(new javax.swing.ImageIcon(getClass().getResource("/dry icons/eyedrop.png"))); // NOI18N
jLabel6.setIcon(new javax.swing.ImageIcon(getClass().getResource("/dry icons/erase.png"))); // NOI18N
jLabel7.setIcon(new javax.swing.ImageIcon(getClass().getResource("/dry icons/pencil.png"))); // NOI18N
jLabel8.setIcon(new javax.swing.ImageIcon(getClass().getResource("/dry icons/paleta.png"))); // NOI18N
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 100, Short.MAX_VALUE)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(13, 13, 13)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jLabel8)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel1))
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jLabel7)
.addGap(18, 18, 18)
.addComponent(jLabel6)))
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jLabel5)
.addGap(18, 18, 18)
.addComponent(jLabel2)))
.addGap(2, 2, 2))
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jLabel3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel4)))
.addGap(13, 13, 13)))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 273, Short.MAX_VALUE)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(19, 19, 19)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel3)
.addComponent(jLabel4))
.addGap(41, 41, 41)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel1))
.addGap(49, 49, 49)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel5)
.addComponent(jLabel2))
.addGap(41, 41, 41)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel6)
.addComponent(jLabel7))
.addContainerGap(19, Short.MAX_VALUE)))
);
jMenuBar1.setBorder(javax.swing.BorderFactory.createEtchedBorder());
jMenu1.setText("Arquivo");
Abrir.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.CTRL_MASK));
Abrir.setIcon(new javax.swing.ImageIcon(getClass().getResource("/dry icons/pesquisa.png"))); // NOI18N
Abrir.setText("Carregar Imagem ...");
Abrir.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
AbrirActionPerformed(evt);
}
});
jMenu1.add(Abrir);
jMenuBar1.add(jMenu1);
jMenu2.setText("Editar");
jMenuBar1.add(jMenu2);
jMenu3.setText("Aritméticas");
jMenuItem1.setText("Soma");
jMenu3.add(jMenuItem1);
jMenuItem2.setText("Subtração");
jMenu3.add(jMenuItem2);
jMenuItem3.setText("Multiplicação");
jMenu3.add(jMenuItem3);
jMenuItem4.setText("Divisão");
jMenu3.add(jMenuItem4);
jMenuItem5.setText("Blending");
jMenu3.add(jMenuItem5);
jMenuBar1.add(jMenu3);
jMenu4.setText("Pontuais");
jMenuItem18.setText("Threshold");
jMenu4.add(jMenuItem18);
jMenuItem19.setText("Conversão de cores");
jMenu4.add(jMenuItem19);
jMenuItem20.setText("Brilho e contraste");
jMenu4.add(jMenuItem20);
jMenuItem21.setText("Saturação");
jMenu4.add(jMenuItem21);
jMenuBar1.add(jMenu4);
jMenu5.setText("Lógicas");
jMenuItem14.setText("AND");
jMenu5.add(jMenuItem14);
jMenuItem15.setText("OR ");
jMenu5.add(jMenuItem15);
jMenuItem16.setText("NOT");
jMenu5.add(jMenuItem16);
jMenuItem17.setText("XOR");
jMenu5.add(jMenuItem17);
jMenuBar1.add(jMenu5);
jMenu6.setText("Geométricas");
jMenuItem6.setText("Translação");
jMenu6.add(jMenuItem6);
jMenuItem7.setText("Rotação");
jMenu6.add(jMenuItem7);
jMenuItem8.setText("Escala");
jMenu6.add(jMenuItem8);
jMenuItem9.setText("Transf. Polar");
jMenu6.add(jMenuItem9);
jMenuBar1.add(jMenu6);
jMenu7.setText("Filtros");
jMenuItem10.setText("Desfocagem Gaussiana");
jMenu7.add(jMenuItem10);
jMenuItem11.setText("Mascara de desaguçar");
jMenu7.add(jMenuItem11);
jMenuItem12.setText("Sobel edge");
jMenu7.add(jMenuItem12);
jMenuItem13.setText("Roberts");
jMenu7.add(jMenuItem13);
jMenuBar1.add(jMenu7);
setJMenuBar(jMenuBar1);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(4, 4, 4)
.addComponent(jScrollPane1))
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jSeparator1, javax.swing.GroupLayout.Alignment.TRAILING))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 4, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 296, javax.swing.GroupLayout.PREFERRED_SIZE))
);
pack();
}//
private DefaultListModel listaImagens(){
DefaultListModel lista = new DefaultListModel();
for(Imagem percorrer : result){
lista.addElement(percorrer);
}
return lista;
}
private void AbrirActionPerformed(java.awt.event.ActionEvent evt) {
FileFilter filter = new FileNameExtensionFilter("Image Files ",“png”,“jpg”);
chooser = new JFileChooser();
chooser.setFileFilter(filter);
chooser.setAcceptAllFileFilterUsed(false);
if(chooser.showOpenDialog(this)==JFileChooser.APPROVE_OPTION){
try{
img = new Imagem(chooser.getSelectedFile());
jPanel1.add(img, BorderLayout.CENTER);
jPanel1.repaint();
result.add(img);
jList1.setModel(listaImagens());
System.out.println("\n Array Atualizado");
}catch(IOException ioe){
}
}
}
public MinhaInterface() {
initComponents();
}
public static void main(String args[]) {
/* Set the Nimbus look and feel /
//
/ 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 (“Windows”.equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(MinhaInterface.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new MinhaInterface().setVisible(true);
}
});
}