public CBIR(String uname) { // super("CBIR"); super(); uid = uname; // initialize(uname); content = getContentPane(); content.setBackground(Color.LIGHT_GRAY); Rectangle d = content.getBounds(); content.setBounds((int) d.getX(), (int) d.getY(), 2000, 150); content.setLayout(new BorderLayout()); bar = new JMenuBar(); setJMenuBar(bar); // 1 user = new JMenu("User"); fileMenu = new JMenu("File"); newM = new JMenu("New"); histogram = new JMenu("Color Histogram"); shape = new JMenu("Shape"); // 2 bar.add(user); bar.add(fileMenu); bar.add(histogram); bar.add(newM); averageRGB = new JMenuItem("AverageRGB"); global = new JMenuItem("Global color Histogram"); localColor = new JMenuItem("Local color Histogram"); geometricMoment = new JMenuItem("Geometric Moment"); // zernike = new JMenuItem("Zernike Moment"); open = new JMenuItem("Open"); // 3 addUser = new JMenuItem("Add New User"); // 4 deleteUser = new JMenuItem("Delete User"); addNew = new JMenuItem("Add New Image"); addNewFolder = new JMenuItem("Add New Folder"); averageRGB.addActionListener(this); global.addActionListener(this); open.addActionListener(this); addNew.addActionListener(this); // 5 addUser.addActionListener(this); // 6 deleteUser.addActionListener(this); localColor.addActionListener(this); // zernike.addActionListener(this); addNewFolder.addActionListener(this); // 7 user.add(addUser); // 8 user.add(deleteUser); newM.add(addNew); newM.add(addNewFolder); fileMenu.add(open); histogram.add(averageRGB); histogram.add(localColor); histogram.add(global); JPanel jp = new JPanel(); jp.setBackground(Color.LIGHT_GRAY); jp.setLayout(new FlowLayout()); JPanel jp1 = new JPanel(); jp1.setBackground(Color.LIGHT_GRAY); jp1.setLayout(new FlowLayout()); ImageIcon icon = new ImageIcon("CBIR.jpg"); l1 = new JLabel(icon); l2 = new JLabel(); l3 = new JLabel(); /*pbQuery.setBounds(jp.getWidth()-127,60,500,500); pbQuery.setTitle("QueryImage"); pbQuery.setSelectionEnabled(false); jp.add(pbQuery);*/ // scr.setBounds(5,5,470,400); l2.setBounds(new java.awt.Rectangle(74, 0, 106, 26)); l2.setFont(new java.awt.Font("TimesNewRoman", java.awt.Font.BOLD, 18)); l3.setBackground(Color.pink); l3.setBounds(new java.awt.Rectangle(109, 500, 106, 109)); l3.setFont(new java.awt.Font("TimesNewRoman", java.awt.Font.BOLD, 18)); jp.add(l2); jp.add(l1); jp1.add(l3); content.add("West", jp1); content.add("North", jp); view = new Viewer2(); content.add("Center", view); lblNewLabel = new JLabel("New label"); view.add(lblNewLabel); bottom = new JPanel(); bottom.add(next = new JButton("Next")); bottom.add(previous = new JButton("Previous")); next.addActionListener(this); previous.addActionListener(this); geometricMoment.addActionListener(this); previous.setEnabled(false); next.setEnabled(false); content.add("South", bottom); label = new JLabel(""); label.setHorizontalAlignment(SwingConstants.CENTER); label.setBackground(Color.GRAY); getContentPane().add(label, BorderLayout.CENTER); label.setIcon(new ImageIcon("C:\\Users\\bilel\\Desktop\\aa.PNG")); setSize(650, 500); setVisible(true); // setResizable(false); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }
public void actionPerformed(ActionEvent ae) { Object object = ae.getSource(); if (object == open) { JFileChooser jfc = new JFileChooser("."); int approve = jfc.showOpenDialog(this); if (approve == JFileChooser.APPROVE_OPTION) { file = jfc.getSelectedFile(); path = file.getPath(); String ext[] = {"jpg", "JPG"}; if (path.endsWith(ext[0]) || path.endsWith(ext[1])) { l2.setText("*** Input Image ***"); l1.setIcon(new ImageIcon(getImage(path))); } else { JOptionPane.showMessageDialog(this, " Select Image Files only"); } } } if (object == addUser) { new InsertUser(); } if (object == deleteUser) { new DeleteUser(); } if (object == addNew) { new AddNew(this, l1); } if (object == addNewFolder) { JFileChooser jfc = new JFileChooser("."); jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); int approve = jfc.showOpenDialog(null); if (approve == JFileChooser.APPROVE_OPTION) { file = jfc.getSelectedFile(); String dir = file.getPath(); String ext[] = {"jpg", "JPG"}; File[] f = file.listFiles(new Filter(ext)); UserDAO UD = new UserDAO(); for (int i = 0; i < f.length; i++) { if (UD.preInsert(f[i].getPath())) { UD.insert(f[i].getName(), "Image", f[i].getPath()); } } JOptionPane.showMessageDialog(this, dir + " Insert successfully"); } } if (object == averageRGB) { if (path != null && !path.equals("")) { double d = 15, d1 = 0; String[] argv = {"AverageRGB", path}; Date startTime = new Date(); tester = new FeatureTester(argv, d, d1, view); outputList = tester.getOutputList(); list = new ArrayList(); for (int i = 0; i < outputList.size(); i++) { if (i == 7) break; list.add((String) outputList.get(i)); } view.list = list; l3.setText("Output Image"); System.out.println("Output Image"); System.out.println("-------------------------" + list); view.repaint(); Date currentTime = new Date(); long millisecond = currentTime.getTime() - startTime.getTime(); String s = "Total Time used = " + String.valueOf(millisecond) + " ms"; JOptionPane.showMessageDialog(view, s); next.setEnabled(true); } else JOptionPane.showMessageDialog(this, "Please select input image file"); } if (object == localColor) { if (path != null && !path.equals("")) { // double d=0.075,d1=0; double d = 0.095, d1 = 0; String[] argv = {"LocalColorHistogram", path}; Date startTime = new Date(); tester = new FeatureTester(argv, d, d1, view); outputList = tester.getOutputList(); list = new ArrayList(); for (int i = 0; i < outputList.size(); i++) { if (i == 7) break; list.add((String) outputList.get(i)); } view.list = list; l3.setText("Output Image"); System.out.println("-------------------------" + list); view.repaint(); Date currentTime = new Date(); long millisecond = currentTime.getTime() - startTime.getTime(); String s = "Total Time used = " + String.valueOf(millisecond) + " ms"; JOptionPane.showMessageDialog(view, s); next.setEnabled(true); } else JOptionPane.showMessageDialog(this, "Please select input image file"); } if (object == global) { if (path != null && !path.equals("")) { // double d=0.035,d1=0; double d = 0.07, d1 = 0; String[] argv = {"GlobalColorHistogram", path}; Date startTime = new Date(); tester = new FeatureTester(argv, d, d1, view); outputList = tester.getOutputList(); list = new ArrayList(); for (int i = 0; i < outputList.size(); i++) { if (i == 7) break; list.add((String) outputList.get(i)); } view.list = list; l3.setText("Output Image"); System.out.println("-------------------------" + list); view.repaint(); Date currentTime = new Date(); long millisecond = currentTime.getTime() - startTime.getTime(); String s = "Total Time used = " + String.valueOf(millisecond) + " ms"; JOptionPane.showMessageDialog(view, s); next.setEnabled(true); } else JOptionPane.showMessageDialog(this, "Please select input image file"); } if (object == next && !(list.size() == 0)) { int index = outputList.indexOf(list.get(list.size() - 1)); if (index != outputList.size() - 1) { list = null; list = new ArrayList(); for (int i = index + 1; i < outputList.size(); i++) { if (list.size() == 7) break; list.add((String) outputList.get(i)); // System.out.println(i); } view.list = list; // System.out.println("+++++++++++++++++"+list+"+++++++++++++++++"); view.repaint(); repaint(); previous.setEnabled(true); } else next.setEnabled(false); } if (object == previous && !(list.size() == 0)) { int index = outputList.indexOf(list.get(list.size() - 1)); if (index > 0) { list = null; list = new ArrayList(); for (int i = index - 1; i >= 0; i--) { if (list.size() == 7) break; list.add((String) outputList.get(i)); // System.out.println(i); } view.list = list; // System.out.println("*****************"+list+"*****************"); view.repaint(); repaint(); next.setEnabled(true); } else previous.setEnabled(false); } }