public static DockableFrame createSampleTaskListFrame() { final DockableFrame frame = new DockableFrame( "Task List", VsnetIconsFactory.getImageIcon(VsnetIconsFactory.Standard.TASKLIST)); frame.getContext().setInitMode(DockContext.STATE_FRAMEDOCKED); frame.getContext().setInitSide(DockContext.DOCK_SIDE_SOUTH); JList list = new JList(new String[] {"Task1", "Task2", "Task3"}); list.addMouseListener( new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { if (e.getClickCount() == 2) { frame.getDockingManager().notifyFrame("Property"); } } }); list.setToolTipText("This is a tooltip"); frame.add(createScrollPane(list)); frame.add(new JTextField(), BorderLayout.BEFORE_FIRST_LINE); frame.add(new JTextField(), BorderLayout.AFTER_LAST_LINE); frame.setPreferredSize(new Dimension(200, 200)); frame.setMinimumSize(new Dimension(100, 100)); return frame; }
private void createUI() { try { this.setLayout(new BoxLayout(this, BoxLayout.X_AXIS)); Border border = BorderFactory.createEmptyBorder(5, 5, 5, 5); this.setBorder(border); JPanel panel = new JPanel(); panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS)); Box box = Box.createVerticalBox(); String[] args = new String[7]; args[0] = "fileSelector"; // Name args[1] = "file selector"; // Description args[2] = "Input shapefile:"; // getTextValue(el, "LabelText"); args[3] = Integer.toString(DialogFile.MODE_OPEN); args[4] = "true"; // getTextValue(el, "ShowButton").toLowerCase(); args[5] = "ShapeFile (*.shp), SHP"; // getTextValue(el, "Filter"); args[6] = "false"; // getTextValue(el, "MakeOptional").toLowerCase(); df = new DialogFile(hostDialog); df.setArgs(args); df.addPropertyChangeListener("value", this); df.setTextFieldActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent evt) { okPressed(); } }); box.add(df); // list.addListSelectionListener(this); Box hbox = Box.createHorizontalBox(); lbl = new JLabel(label); hbox.add(lbl); hbox.add(Box.createHorizontalGlue()); box.add(hbox); box.add(Box.createHorizontalStrut(5)); list = new JList(); if (!multiSelect) { list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); } else { // true list.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); } updateList(); JScrollPane scroller1 = new JScrollPane(list); box.add(scroller1); box.setToolTipText(description); this.setToolTipText(description); list.setToolTipText(description); lbl.setToolTipText(description); panel.add(box); this.add(panel); this.add(Box.createHorizontalGlue()); this.setMaximumSize(new Dimension(2500, 140)); this.setPreferredSize(new Dimension(350, 140)); } catch (Exception e) { System.out.println(e.getCause()); } }
Library() { super("Library Management"); frame = this; try { UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); } catch (Exception de) { } cp = getContentPane(); cp.setLayout(null); // Adding TextArea in Panel jp1 = new JPanel(null, true); // t1=new // JTextField("|Name "+"\t\t"+" |Author"+"\t\t "+" |Publication "+"\t"+"|Issue // "+"\t"+"|Return "+"\t"+"| Cutm. Id"); // t1.setEditable(false); // t1.setBounds(0,0,600,20); // jp1.add(t1); MenuBar mb = new MenuBar(); setMenuBar(mb); Menu menu2 = new Menu("Skins"); MenuItem item4 = new MenuItem("Defualt Skin"); MenuItem item5 = new MenuItem("Metal Skin"); MenuItem item6 = new MenuItem("Modified Skin"); // item5.setSelected(true); menu2.add(item4); menu2.add(item5); menu2.add(item6); mb.add(menu2); Menu menu21 = new Menu("Backup"); MenuItem item61 = new MenuItem("Create Database Backup"); menu21.add(item61); mb.add(menu21); // Menu menu1=new Menu("About"); // MenuItem item1=new MenuItem("Help ?"); // MenuItem item2=new MenuItem("Support ?"); // MenuItem item3=new MenuItem("About Us ?"); // menu1.add(item1);menu1.add(item2);menu1.add(item3); // mb.add(menu1); Menu menu212 = new Menu("Exit"); MenuItem item612 = new MenuItem("Exit Form Library"); menu212.add(item612); mb.add(menu212); int h = ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS; int v = ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS; Color re = new Color(122, 145, 201); mo1 = new DefaultListModel(); list1 = new JList(mo1); ml1 = new JLabel(" Book's Name"); ml1.setForeground(Color.red); ml1.setBounds(15, 0, 154, 20); list1.setBounds(15, 20, 154, 500); list1.setToolTipText("NAme of Book's Present in Database"); jp1.add(ml1); jp1.add(list1); mo2 = new DefaultListModel(); list2 = new JList(mo2); ml2 = new JLabel(" Author"); ml2.setForeground(re); ml2.setBounds(140 + 30, 0, 99, 20); list2.setToolTipText("Name of Book Author's Present in Database"); list2.setBounds(140 + 30, 20, 99, 900); jp1.add(ml2); jp1.add(list2); mo3 = new DefaultListModel(); list3 = new JList(mo3); ml3 = new JLabel(" Publication"); ml3.setForeground(re); ml3.setBounds(240 + 30, 0, 99, 20); list3.setToolTipText("Name of Book's Publication Present in Database"); list3.setBounds(240 + 30, 20, 99, 500); jp1.add(ml3); jp1.add(list3); mo4 = new DefaultListModel(); list4 = new JList(mo4); ml4 = new JLabel(" Issue Date"); ml4.setForeground(re); ml4.setBounds(340 + 30, 0, 70, 20); list4.setToolTipText("Date of Issue Present in Database"); list4.setBounds(340 + 30, 20, 70, 500); jp1.add(ml4); jp1.add(list4); mo5 = new DefaultListModel(); list5 = new JList(mo5); ml5 = new JLabel(" Return Date"); ml5.setForeground(re); ml5.setBounds(411 + 30, 0, 70, 20); list5.setToolTipText("Date of Return Present in Database"); list5.setBounds(411 + 30, 20, 70, 500); jp1.add(ml5); jp1.add(list5); mo6 = new DefaultListModel(); list6 = new JList(mo6); ml6 = new JLabel(" Cust. ID"); ml6.setForeground(re); ml6.setBounds(482 + 30, 0, 60, 20); list6.setToolTipText("ID of customer that purchase the book last time "); list6.setBounds(482 + 30, 20, 60, 500); jp1.add(ml6); jp1.add(list6); // a1=new JTextArea(); // a1.setText("|Name "+"\t\t\t"+" |Author"+"\t\t\t"+" |Publication "+"\t\t"+"|Issue // "+"\t\t"+"|Return "+"\t\t"+"| Cutm. Id"); // a1.setEditable(false); // JScrollPane scroll=new JScrollPane(a1,v,h); // scroll.setBounds(0,20,600,578); // jp1.add(scroll); for (int x = 1; x < 100; x++) { sr = new JLabel(x + "\n"); sr.setForeground(re); sr.setBounds(0, 20, 10, 500); jp1.add(sr); } // jp1.setBackground(Color.black); JScrollPane nm = new JScrollPane(jp1, v, h); nm.setBounds(10, 20, 600, 500); cp.add(nm); jp2 = new JPanel(null, true); b1 = new JButton("Add Book"); b1.setBounds(10, 10, 120, 25); jp2.add(b1); b2 = new JButton("Delete Book"); b2.setBounds(10, 45, 120, 25); jp2.add(b2); b3 = new JButton("View Book Details"); b3.setBounds(10, 80, 120, 25); jp2.add(b3); b4 = new JButton("View All Book's"); b4.setBounds(10, 115, 120, 25); jp2.add(b4); Color r = new Color(122, 145, 201); jp2.setBackground(r); jp2.setBounds(630, 20, 160, 145); cp.add(jp2); jp3 = new JPanel(null, true); t1 = new JTextField(); t1.setBounds(10, 10, 120, 20); jp3.add(t1); t1.setToolTipText("Find The Book By Book Name. It is Advaced Search System"); b5 = new JButton("Search Book Name"); b5.setBounds(05, 35, 130, 20); jp3.add(b5); // b5.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,Event.CTRL_MASK)); b5.setMnemonic(KeyEvent.VK_N); JLabel lk = new JLabel("__________________________________"); lk.setForeground(Color.black); lk.setBounds(0, 50, 160, 6); jp3.add(lk); t14 = new JTextField(); t14.setBounds(10, 60, 120, 20); jp3.add(t14); t14.setToolTipText("Find The Book By Author Name. It is Advaced Search System"); b10 = new JButton("Search Author"); b10.setBounds(05, 85, 130, 20); jp3.add(b10); // b10.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_a,Event.CTRL_MASK)); b10.setMnemonic(KeyEvent.VK_N); Color r1 = new Color(122, 145, 201); jp3.setBackground(r1); jp3.setBounds(630, 180, 160, 115); cp.add(jp3); jp4 = new JPanel(null, true); b15 = new JButton("Add Customer"); b15.setBounds(10, 05, 120, 25); jp4.add(b15); b6 = new JButton("View all Cotumers"); b6.setBounds(10, 35, 120, 25); jp4.add(b6); t2 = new JTextField(); t2.setBounds(10, 65, 120, 20); t2.setToolTipText("Find The Customer Information. It is Advaced Search System"); jp4.add(t2); b7 = new JButton("Search"); b7.setBounds(05, 90, 130, 20); jp4.add(b7); b8 = new JButton("Delete Costumer"); b8.setBounds(10, 115, 120, 25); jp4.add(b8); b9 = new JButton("View Cust. Details"); b9.setBounds(10, 150, 120, 25); jp4.add(b9); Color r3 = new Color(122, 145, 201); jp4.setBackground(r3); jp4.setBounds(630, 305, 160, 180); cp.add(jp4); b_no = new JLabel(); b_no.setForeground(Color.red); b_no.setBounds(150, 0, 150, 20); cp.add(b_no); progress1 = new JProgressBar(); progress1.setBackground(re); progress1.setBounds(630, 490, 150, 25); cp.add(progress1); try { rd1 = new FileReader("Database/pointer.mmm"); read1 = new JTextField(); read1.read(rd1, null); int count = Integer.parseInt(read1.getText()); int total = count - 1; int blk = 0; rd1.close(); for (int i = 1; i < count; i++) { rd1 = new FileReader("Database/" + i + ".name"); read1 = new JTextField(); read1.read(rd1, null); if (!read1.getText().equals("")) { blk++; b_no.setText("Total Books = " + blk + " (Book's)"); mo1.addElement(read1.getText() + ""); rd1.close(); int per = i * 100 / total; progress1.setValue(per); rd1 = new FileReader("Database/" + i + ".author"); read1 = new JTextField(); read1.read(rd1, null); mo2.addElement(read1.getText() + ""); rd1.close(); rd1 = new FileReader("Database/" + i + ".publication"); read1 = new JTextField(); read1.read(rd1, null); mo3.addElement(read1.getText() + ""); rd1.close(); rd1 = new FileReader("Database/" + i + ".issue"); read1 = new JTextField(); read1.read(rd1, null); if (!read1.getText().equals("")) { mo4.addElement(read1.getText() + ""); } else { mo4.addElement(read1.getText() + " -"); } rd1.close(); rd1 = new FileReader("Database/" + i + ".return"); read1 = new JTextField(); read1.read(rd1, null); mo5.addElement(read1.getText() + ""); rd1.close(); rd1 = new FileReader("Database/" + i + ".id"); read1 = new JTextField(); read1.read(rd1, null); mo6.addElement(read1.getText() + ""); rd1.close(); } } } catch (Exception der) { a1.setText("Error Occurs: \n" + der); } // Source code for searching the book's from Database // it search book by name of book,author,publication // it work when you don't know about any thing than press any // keyword to find book/ // eg: if you have book name that publish by that publication which // starts from "c" // then you press only "c" in search it show you all Books that start // with "c" ,Author "c" and publication that start "c" . // Warning: // Don't Modify the code without knowledge of full source code // Author : Pravin Rane b5.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { try { int bs1 = 0; progress1.setValue(0); mo1.removeAllElements(); mo2.removeAllElements(); mo3.removeAllElements(); mo4.removeAllElements(); mo5.removeAllElements(); mo6.removeAllElements(); ml1.setText("Book Name"); ml2.setText("Author"); ml3.setText("Publication"); ml4.setText("Issue Date"); ml5.setText("Return Date"); ml6.setText("Cust. ID."); if (!t1.getText().equals("")) { rd1 = new FileReader("Database/pointer.mmm"); read1 = new JTextField(); read1.read(rd1, null); int no = Integer.parseInt(read1.getText()); rd1.close(); int len = t1.getText().length(); for (int k = 0; k < len; k++) { char ch = t1.getText().charAt(k); stra1 = stra1 + ch; // System.out.println(stra1+""); } for (int v = 1; v < no; v++) { name11 = ""; author11 = ""; publication11 = ""; progress1.setMaximum(no); int per = v * 100 / no; progress1.updateUI(); progress1.setValue(per); FileReader re1 = new FileReader("Database/" + v + ".name"); JTextField jt1 = new JTextField(); jt1.read(re1, null); String name = jt1.getText(); re1.close(); FileReader re2 = new FileReader("Database/" + v + ".author"); JTextField jt2 = new JTextField(); jt2.read(re2, null); String author = jt2.getText(); re2.close(); FileReader re3 = new FileReader("Database/" + v + ".publication"); JTextField jt3 = new JTextField(); jt3.read(re3, null); String publication = jt3.getText(); re3.close(); find = v; try { for (int z = 0; z < len; z++) { name11 = name11 + name.charAt(z); // author11=author11+author.charAt(z); // System.out.println(author11+""); publication11 = publication11 + publication.charAt(z); if (z == (len - 1)) { // System.out.println(name11+""); // System.out.println(publication11+""); } } } catch (Exception def) { } if (name.toLowerCase().equals(t1.getText()) || name.toUpperCase().equals(t1.getText()) || author.toLowerCase().equals(t1.getText()) || author.toUpperCase().equals(t1.getText()) || publication.toLowerCase().equals(t1.getText()) || publication.toUpperCase().equals(t1.getText())) { bs1++; rd1 = new FileReader("Database/" + find + ".name"); read1 = new JTextField(); read1.read(rd1, null); mo1.addElement(read1.getText() + ""); rd1.close(); rd1 = new FileReader("Database/" + find + ".author"); read1 = new JTextField(); read1.read(rd1, null); mo2.addElement(read1.getText() + ""); rd1.close(); rd1 = new FileReader("Database/" + find + ".publication"); read1 = new JTextField(); read1.read(rd1, null); mo3.addElement(read1.getText() + ""); rd1.close(); rd1 = new FileReader("Database/" + find + ".issue"); read1 = new JTextField(); read1.read(rd1, null); mo4.addElement(read1.getText() + ""); rd1.close(); rd1 = new FileReader("Database/" + find + ".return"); read1 = new JTextField(); read1.read(rd1, null); mo5.addElement(read1.getText() + ""); rd1.close(); rd1 = new FileReader("Database/" + find + ".id"); read1 = new JTextField(); read1.read(rd1, null); mo6.addElement(read1.getText() + ""); rd1.close(); } else if (publication11.toLowerCase().equals(t1.getText()) || author11.toLowerCase().equals(t1.getText()) || name11.toLowerCase().equals(t1.getText()) || publication11.toUpperCase().equals(t1.getText()) || author11.toUpperCase().equals(t1.getText()) || name11.toUpperCase().equals(t1.getText())) { bs1++; rd1 = new FileReader("Database/" + find + ".name"); read1 = new JTextField(); read1.read(rd1, null); mo1.addElement(read1.getText() + ""); rd1.close(); rd1 = new FileReader("Database/" + find + ".author"); read1 = new JTextField(); read1.read(rd1, null); mo2.addElement(read1.getText() + ""); rd1.close(); rd1 = new FileReader("Database/" + find + ".publication"); read1 = new JTextField(); read1.read(rd1, null); mo3.addElement(read1.getText() + ""); rd1.close(); rd1 = new FileReader("Database/" + find + ".issue"); read1 = new JTextField(); read1.read(rd1, null); mo4.addElement(read1.getText() + ""); rd1.close(); rd1 = new FileReader("Database/" + find + ".return"); read1 = new JTextField(); read1.read(rd1, null); mo5.addElement(read1.getText() + ""); rd1.close(); rd1 = new FileReader("Database/" + find + ".id"); read1 = new JTextField(); read1.read(rd1, null); mo6.addElement(read1.getText() + ""); rd1.close(); } b_no.setText("Total Book Found =" + bs1 + " (Book's)"); } } else { progress1.setValue(0); JOptionPane.showMessageDialog( (Component) null, "Please Enter the Book Name or Publcation", "Library Management(Pravin Rane)", JOptionPane.OK_OPTION); b_no.setText("User Input Error!"); } } catch (Exception der) { System.out.println("Error:" + der); } } }); b10.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { try { int bs2 = 0; progress1.setValue(0); mo1.removeAllElements(); mo2.removeAllElements(); mo3.removeAllElements(); mo4.removeAllElements(); mo5.removeAllElements(); mo6.removeAllElements(); ml1.setText("Book Name"); ml2.setText("Author"); ml3.setText("Publication"); ml4.setText("Issue Date"); ml5.setText("Return Date"); ml6.setText("Cust. ID."); if (!t14.getText().equals("")) { rd1 = new FileReader("Database/pointer.mmm"); read1 = new JTextField(); read1.read(rd1, null); int no = Integer.parseInt(read1.getText()); rd1.close(); int len = t14.getText().length(); for (int k = 0; k < len; k++) { char ch = t14.getText().charAt(k); stra1 = stra1 + ch; // System.out.println(stra1+""); } for (int v = 1; v < no; v++) { name11 = ""; author11 = ""; publication11 = ""; progress1.setMaximum(no); int per = v * 100 / no; progress1.updateUI(); progress1.setValue(per); FileReader re1 = new FileReader("Database/" + v + ".name"); JTextField jt1 = new JTextField(); jt1.read(re1, null); String name = jt1.getText(); re1.close(); FileReader re2 = new FileReader("Database/" + v + ".author"); JTextField jt2 = new JTextField(); jt2.read(re2, null); String author = jt2.getText(); re2.close(); FileReader re3 = new FileReader("Database/" + v + ".publication"); JTextField jt3 = new JTextField(); jt3.read(re3, null); String publication = jt3.getText(); re3.close(); find = v; try { for (int z = 0; z < len; z++) { // name11=name11+name.charAt(z); author11 = author11 + author.charAt(z); // System.out.println(author11+""); // publication11=publication11+publication.charAt(z); if (z == (len - 1)) { // System.out.println(name11+""); // System.out.println(publication11+""); } } } catch (Exception def) { } if (author.toLowerCase().equals(t14.getText()) || author.toUpperCase().equals(t14.getText())) { bs2++; rd1 = new FileReader("Database/" + find + ".name"); read1 = new JTextField(); read1.read(rd1, null); mo1.addElement(read1.getText() + ""); rd1.close(); rd1 = new FileReader("Database/" + find + ".author"); read1 = new JTextField(); read1.read(rd1, null); mo2.addElement(read1.getText() + ""); rd1.close(); rd1 = new FileReader("Database/" + find + ".publication"); read1 = new JTextField(); read1.read(rd1, null); mo3.addElement(read1.getText() + ""); rd1.close(); rd1 = new FileReader("Database/" + find + ".issue"); read1 = new JTextField(); read1.read(rd1, null); mo4.addElement(read1.getText() + ""); rd1.close(); rd1 = new FileReader("Database/" + find + ".return"); read1 = new JTextField(); read1.read(rd1, null); mo5.addElement(read1.getText() + ""); rd1.close(); rd1 = new FileReader("Database/" + find + ".id"); read1 = new JTextField(); read1.read(rd1, null); mo6.addElement(read1.getText() + ""); rd1.close(); } else if (author11.toLowerCase().equals(t14.getText()) || author11.toUpperCase().equals(t14.getText())) { bs2++; rd1 = new FileReader("Database/" + find + ".name"); read1 = new JTextField(); read1.read(rd1, null); mo1.addElement(read1.getText() + ""); rd1.close(); rd1 = new FileReader("Database/" + find + ".author"); read1 = new JTextField(); read1.read(rd1, null); mo2.addElement(read1.getText() + ""); rd1.close(); rd1 = new FileReader("Database/" + find + ".publication"); read1 = new JTextField(); read1.read(rd1, null); mo3.addElement(read1.getText() + ""); rd1.close(); rd1 = new FileReader("Database/" + find + ".issue"); read1 = new JTextField(); read1.read(rd1, null); mo4.addElement(read1.getText() + ""); rd1.close(); rd1 = new FileReader("Database/" + find + ".return"); read1 = new JTextField(); read1.read(rd1, null); mo5.addElement(read1.getText() + ""); rd1.close(); rd1 = new FileReader("Database/" + find + ".id"); read1 = new JTextField(); read1.read(rd1, null); mo6.addElement(read1.getText() + ""); rd1.close(); } b_no.setText("Total Book Found =" + bs2 + " (Book's)"); } } else { progress1.setValue(0); b_no.setText("User Input Error!"); JOptionPane.showMessageDialog( (Component) null, "Please Enter the Book Author name", "Library Management(Pravin Rane)", JOptionPane.OK_OPTION); } } catch (Exception der) { System.out.println("Error:" + der); } } }); // End of Serching Book // Author : Pravin Rane // it use to aplly the skins to UserInteface // there are three skins Default which is Windows Skin // Metal skin and modified skin. // apply it as oer ur requirment. // Author : Pravin H. Rane item4.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { try { UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); SwingUtilities.updateComponentTreeUI(frame); } catch (Exception dert) { System.out.println(dert); } } }); item5.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { try { UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel"); SwingUtilities.updateComponentTreeUI(frame); } catch (Exception dert) { System.out.println(dert); } } }); item6.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { try { UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel"); SwingUtilities.updateComponentTreeUI(frame); } catch (Exception dert) { System.out.println(dert); } } }); item61.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { try { Date d = new Date(); int my1 = d.getDate(); int my2 = d.getMonth(); FileDialog fd = new FileDialog(frame, "Save Database Backup File (Library Management )"); fd.setMode(FileDialog.SAVE); fd.setFile("Database" + my1 + "." + my2 + ".rar"); fd.setVisible(true); String dir = fd.getDirectory(); String path = fd.getFile(); String command = "jar cvf Database1.rar Database/*.*"; Runtime r = Runtime.getRuntime(); r.exec(command); String command2 = "jar cvf Database2.rar Cust_Details/*.*"; Runtime r2 = Runtime.getRuntime(); r2.exec(command2); try { Thread.sleep(1000); } catch (Exception fr) { } String command3 = "jar cvf " + dir + path + " Database1.rar Database2.rar"; Runtime r3 = Runtime.getRuntime(); r3.exec(command3); System.out.println("Database Backup Sucessfully!"); } catch (Exception dert) { System.out.println(dert); } } }); item612.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { System.exit(0); } }); // End Of Applyinf Skin to UInterface // This Button show the details of Book's // that specified when the book is adding in the database // you can modify the details of book. // Author : Pravin H. Rane b3.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { try { // view v=new view(String str,string info,boolean val); } catch (Exception der) { } } }); // End of book details b15.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { Addcust ad = new Addcust(); ad.setVisible(true); ad.setSize(380, 400); ad.setLocation(80, 140); } }); // it show all book's available in database // it dosn't sort book by sequensely // you can modify the code for sorting the book as per your requirement // Author : Pravin b1.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { addBook a = new addBook(); } }); b4.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { try { mo1.removeAllElements(); mo2.removeAllElements(); mo3.removeAllElements(); mo4.removeAllElements(); mo5.removeAllElements(); mo6.removeAllElements(); ml1.setText("Book Name"); ml2.setText("Author"); ml3.setText("Publication"); ml4.setText("Issue Date"); ml5.setText("Return Date"); ml6.setText("Cust. ID."); int za = 0; rd1 = new FileReader("Database/pointer.mmm"); read1 = new JTextField(); read1.read(rd1, null); int count = Integer.parseInt(read1.getText()); int total = count - 1; rd1.close(); for (int i = 1; i < count; i++) { rd1 = new FileReader("Database/" + i + ".name"); read1 = new JTextField(); read1.read(rd1, null); if (!read1.getText().equals("")) { za++; b_no.setText("Total Books = " + za + " (Book's)"); mo1.addElement(read1.getText() + ""); rd1.close(); progress1.setMaximum(total); int per = i * 100 / total; progress1.setValue(per); rd1 = new FileReader("Database/" + i + ".author"); read1 = new JTextField(); read1.read(rd1, null); mo2.addElement(read1.getText() + ""); rd1.close(); rd1 = new FileReader("Database/" + i + ".publication"); read1 = new JTextField(); read1.read(rd1, null); mo3.addElement(read1.getText() + ""); rd1.close(); rd1 = new FileReader("Database/" + i + ".issue"); read1 = new JTextField(); read1.read(rd1, null); if (!read1.getText().equals("")) { mo4.addElement(read1.getText() + ""); } else { mo4.addElement(read1.getText() + " _"); } rd1.close(); rd1 = new FileReader("Database/" + i + ".return"); read1 = new JTextField(); read1.read(rd1, null); mo5.addElement(read1.getText() + ""); rd1.close(); rd1 = new FileReader("Database/" + i + ".id"); read1 = new JTextField(); read1.read(rd1, null); mo6.addElement(read1.getText() + ""); rd1.close(); progress1.setValue(100); } } } catch (Exception der) { a1.setText("Error Occurs: \n" + der); } } }); // End of View all Book's // This source code is used to show information of all customers // Author :Pravin Rane b6.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { try { ml1.setText("Cust. ID"); ml2.setText("Cust. Name"); ml3.setText("Registration Date"); ml4.setText("Book Name"); ml5.setText("Purchase Date"); ml6.setText("Return Date"); int z12 = 0; mo1.removeAllElements(); mo2.removeAllElements(); mo3.removeAllElements(); mo4.removeAllElements(); mo5.removeAllElements(); mo6.removeAllElements(); rd2 = new FileReader("Cust_Details/pointer.mmm"); jt2 = new JTextField(); jt2.read(rd2, null); rd2.close(); int no = Integer.parseInt(jt2.getText()); int tt = no - 1; // b_no.setText("Total Customer's :"+tt ); for (int v = 1; v < no; v++) { rd2 = new FileReader("Cust_Details/Cus" + v + ".id"); jt2 = new JTextField(); jt2.read(rd2, null); if (!jt2.getText().equals("")) { z12++; b_no.setText("Total Customers = " + z12); mo1.addElement(jt2.getText() + ""); rd2.close(); rd2 = new FileReader("Cust_Details/Cus" + v + ".name"); jt2 = new JTextField(); jt2.read(rd2, null); mo2.addElement(jt2.getText() + ""); rd2.close(); rd2 = new FileReader("Cust_Details/Cus" + v + ".date"); jt2 = new JTextField(); jt2.read(rd2, null); mo3.addElement(jt2.getText() + ""); rd2.close(); rd2 = new FileReader("Cust_Details/Cus" + v + ".bname"); jt2 = new JTextField(); jt2.read(rd2, null); if (!jt2.getText().equals("")) { mo4.addElement(jt2.getText() + ""); } else { mo4.addElement(jt2.getText() + " _"); } rd2.close(); rd2 = new FileReader("Cust_Details/Cus" + v + ".purchase"); jt2 = new JTextField(); jt2.read(rd2, null); if (!jt2.getText().equals("")) { mo5.addElement(jt2.getText() + ""); } else { mo5.addElement(jt2.getText() + " _"); } rd2.close(); rd2 = new FileReader("Cust_Details/Cus" + v + ".return"); jt2 = new JTextField(); jt2.read(rd2, null); if (!jt2.getText().equals("")) { mo6.addElement(jt2.getText() + ""); } else { mo6.addElement(jt2.getText() + " _"); } rd2.close(); } } } catch (Exception ser) { System.out.println(ser); } } }); // End of showing customer's Info. b9.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { try { int ad = list1.getSelectedIndex(); String str = (String) mo1.getElementAt(ad); System.out.println(str); cust_detail d = new cust_detail(str); d.setVisible(true); d.setSize(300, 550); d.setLocation(100, 0); } catch (Exception fr) { JOptionPane.showMessageDialog( (Component) null, "Please Select Customer ID from List of Cust. ID. ", "Library Management(Pravin Rane)", JOptionPane.OK_OPTION); try { ml1.setText("Cust. ID"); ml2.setText("Cust. Name"); ml3.setText("Registration Date"); ml4.setText("Book Name"); ml5.setText("Purchase Date"); ml6.setText("Return Date"); mo1.removeAllElements(); mo2.removeAllElements(); mo3.removeAllElements(); mo4.removeAllElements(); mo5.removeAllElements(); mo6.removeAllElements(); rd2 = new FileReader("Cust_Details/pointer.mmm"); jt2 = new JTextField(); jt2.read(rd2, null); rd2.close(); int no = Integer.parseInt(jt2.getText()); for (int v = 1; v < no; v++) { rd2 = new FileReader("Cust_Details/Cus" + v + ".id"); jt2 = new JTextField(); jt2.read(rd2, null); mo1.addElement(jt2.getText() + ""); rd2.close(); rd2 = new FileReader("Cust_Details/Cus" + v + ".name"); jt2 = new JTextField(); jt2.read(rd2, null); mo2.addElement(jt2.getText() + ""); rd2.close(); rd2 = new FileReader("Cust_Details/Cus" + v + ".date"); jt2 = new JTextField(); jt2.read(rd2, null); mo3.addElement(jt2.getText() + ""); rd2.close(); rd2 = new FileReader("Cust_Details/Cus" + v + ".bname"); jt2 = new JTextField(); jt2.read(rd2, null); if (!jt2.getText().equals("")) { mo4.addElement(jt2.getText() + ""); } else { mo4.addElement(jt2.getText() + " _"); } rd2.close(); rd2 = new FileReader("Cust_Details/Cus" + v + ".purchase"); jt2 = new JTextField(); jt2.read(rd2, null); if (!jt2.getText().equals("")) { mo5.addElement(jt2.getText() + ""); } else { mo5.addElement(jt2.getText() + " _"); } rd2.close(); rd2 = new FileReader("Cust_Details/Cus" + v + ".return"); jt2 = new JTextField(); jt2.read(rd2, null); if (!jt2.getText().equals("")) { mo6.addElement(jt2.getText() + ""); } else { mo6.addElement(jt2.getText() + " _"); } rd2.close(); } } catch (Exception fg) { } } } }); b7.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { String mysearchid = t2.getText(); try { ml1.setText("Cust. ID"); ml2.setText("Cust. Name"); ml3.setText("Registration Date"); ml4.setText("Book Name"); ml5.setText("Purchase Date"); ml6.setText("Return Date"); mo1.removeAllElements(); mo2.removeAllElements(); mo3.removeAllElements(); mo4.removeAllElements(); mo5.removeAllElements(); mo6.removeAllElements(); if (!t2.getText().equals("")) { rd2 = new FileReader("Cust_Details/pointer.mmm"); jt2 = new JTextField(); jt2.read(rd2, null); rd2.close(); int no = Integer.parseInt(jt2.getText()); int len3 = t2.getText().length(); for (int v = 1; v < no; v++) { name22 = ""; int lg = 0; rd2 = new FileReader("Cust_Details/Cus" + v + ".id"); jt2 = new JTextField(); jt2.read(rd2, null); // mo1.addElement(jt2.getText()+""); String s1 = jt2.getText(); rd2.close(); rd2 = new FileReader("Cust_Details/Cus" + v + ".name"); jt2 = new JTextField(); jt2.read(rd2, null); // mo2.addElement(jt2.getText()+""); String s2 = jt2.getText(); rd2.close(); for (int z = 0; z < len3; z++) { name22 = name22 + s2.charAt(z); } if (s1.toLowerCase().equals(mysearchid) || s1.toUpperCase().equals(mysearchid) || s2.toLowerCase().equals(mysearchid) || s2.toUpperCase().equals(mysearchid) || name22.toUpperCase().equals(mysearchid) || name22.toLowerCase().equals(mysearchid)) { lg++; b_no.setText("Customer Found :" + lg); rd2 = new FileReader("Cust_Details/Cus" + v + ".id"); jt2 = new JTextField(); jt2.read(rd2, null); mo1.addElement(jt2.getText() + ""); rd2.close(); rd2 = new FileReader("Cust_Details/Cus" + v + ".name"); jt2 = new JTextField(); jt2.read(rd2, null); mo2.addElement(jt2.getText() + ""); rd2.close(); rd2 = new FileReader("Cust_Details/Cus" + v + ".date"); jt2 = new JTextField(); jt2.read(rd2, null); mo3.addElement(jt2.getText() + ""); rd2.close(); rd2 = new FileReader("Cust_Details/Cus" + v + ".bname"); jt2 = new JTextField(); jt2.read(rd2, null); if (!jt2.getText().equals("")) { mo4.addElement(jt2.getText() + ""); } else { mo4.addElement(jt2.getText() + " _"); } rd2.close(); rd2 = new FileReader("Cust_Details/Cus" + v + ".purchase"); jt2 = new JTextField(); jt2.read(rd2, null); if (!jt2.getText().equals("")) { mo5.addElement(jt2.getText() + ""); } else { mo5.addElement(jt2.getText() + " _"); } rd2.close(); rd2 = new FileReader("Cust_Details/Cus" + v + ".return"); jt2 = new JTextField(); jt2.read(rd2, null); if (!jt2.getText().equals("")) { mo6.addElement(jt2.getText() + ""); } else { mo6.addElement(jt2.getText() + " _"); } rd2.close(); } } } else { progress1.setValue(0); b_no.setText("User Input Error!"); JOptionPane.showMessageDialog( (Component) null, "Please Enter Customer Id or Name", "Library Management(Pravin Rane)", JOptionPane.OK_OPTION); } } catch (Exception de) { } } }); b2.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { int ad = list1.getSelectedIndex(); String str99 = (String) mo1.getElementAt(ad); try { rd2 = new FileReader("Database/pointer.mmm"); jt2 = new JTextField(); jt2.read(rd2, null); rd2.close(); int nom = Integer.parseInt(jt2.getText()); for (int count2 = 1; count2 < nom; count2++) { rd1 = new FileReader("Database/" + count2 + ".name"); read1 = new JTextField(); read1.read(rd1, null); rd1.close(); if (read1.getText().equals(str99)) { wr1 = new FileWriter("Database/" + count2 + ".name"); wr1.write(""); wr1.close(); wr1 = new FileWriter("Database/" + count2 + ".author"); wr1.write(""); wr1.close(); wr1 = new FileWriter("Database/" + count2 + ".publication"); wr1.write(""); wr1.close(); wr1 = new FileWriter("Database/" + count2 + ".issue"); wr1.write(""); wr1.close(); wr1 = new FileWriter("Database/" + count2 + ".return"); wr1.write(""); wr1.close(); wr1 = new FileWriter("Database/" + count2 + ".detail"); wr1.write(""); wr1.close(); wr1 = new FileWriter("Database/" + count2 + ".id"); wr1.write(""); wr1.close(); try { Library lbc = new Library(); setVisible(false); lbc.setVisible(true); lbc.setSize(800, 600); } catch (Exception de) { } } } } catch (Exception fr) { System.out.println(fr); } } }); b3.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { try { int ad = list1.getSelectedIndex(); String str34 = (String) mo1.getElementAt(ad); jf55 = new JFrame("Book Details"); jf55.setVisible(true); jf55.setLayout(null); jf55.setLocation(160, 180); JTextArea ak47 = new JTextArea(); ak47.setEditable(false); ak47.setText( "Book Details" + "\n" + "**************************************************"); ak47.setBounds(10, 10, 250, 250); jf55.add(ak47); Button b1 = new Button("Ok"); b1.setBounds(80, 270, 100, 25); jf55.add(b1); b1.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { jf55.setVisible(false); } }); jf55.setSize(285, 335); rd2 = new FileReader("Database/pointer.mmm"); jt2 = new JTextField(); jt2.read(rd2, null); rd2.close(); int nov = Integer.parseInt(jt2.getText()); for (int i = 1; i < nov; i++) { rd1 = new FileReader("Database/" + i + ".name"); read1 = new JTextField(); read1.read(rd1, null); String hj = read1.getText(); rd1.close(); if (hj.equals(str34)) { rd1 = new FileReader("Database/" + i + ".name"); read1 = new JTextField(); read1.read(rd1, null); if (!read1.getText().equals("")) { ak47.setText(ak47.getText() + "\n" + "Book Name :" + read1.getText()); rd1.close(); rd1 = new FileReader("Database/" + i + ".author"); read1 = new JTextField(); read1.read(rd1, null); ak47.setText(ak47.getText() + "\n" + "Book Author :" + read1.getText()); rd1.close(); rd1 = new FileReader("Database/" + i + ".publication"); read1 = new JTextField(); read1.read(rd1, null); ak47.setText(ak47.getText() + "\n" + "Book Publication :" + read1.getText()); rd1.close(); rd1 = new FileReader("Database/" + i + ".issue"); read1 = new JTextField(); read1.read(rd1, null); if (!read1.getText().equals("")) { ak47.setText(ak47.getText() + "\n" + "Issue Date :" + read1.getText()); } else { ak47.setText(ak47.getText() + "\n" + "Issue Date : None"); } rd1.close(); rd1 = new FileReader("Database/" + i + ".return"); read1 = new JTextField(); read1.read(rd1, null); ak47.setText(ak47.getText() + "\n" + "Return Date :" + read1.getText()); rd1.close(); rd1 = new FileReader("Database/" + i + ".id"); read1 = new JTextField(); read1.read(rd1, null); ak47.setText(ak47.getText() + "\n" + "Cust. Id :" + read1.getText()); rd1.close(); rd1 = new FileReader("Database/" + i + ".detail"); read1 = new JTextField(); read1.read(rd1, null); if (!read1.getText().equals("")) { ak47.setText(ak47.getText() + "\n" + "Other Details : \n" + read1.getText()); } else { ak47.setText(ak47.getText() + "\n" + "Other Details : Not Found"); } rd1.close(); } } } } catch (Exception de) { JOptionPane.showMessageDialog( (Component) null, "Please Select Book Name from List", "Library Management(Pravin Rane)", JOptionPane.OK_OPTION); } } }); }
public ThumbMaker() { super("ThumbMaker"); // grab the preferences so that they can be used to fill out the layout ThumbMakerPreferences myPrefs = ThumbMakerPreferences.getInstance(); // content pane JPanel pane = new JPanel(); pane.setLayout(new BoxLayout(pane, BoxLayout.Y_AXIS)); setContentPane(pane); // top panel JPanel top = new JPanel(); top.setLayout(new BoxLayout(top, BoxLayout.X_AXIS)); pane.add(top); // left-hand panel JPanel left = new JPanel(); left.setLayout(new BoxLayout(left, BoxLayout.Y_AXIS)); top.add(left); // horizontal padding top.add(Box.createHorizontalStrut(5)); // label for file list JLabel listLabel = GUIUtil.makeLabel("Files to process:"); listLabel.setDisplayedMnemonic('f'); String listTip = "List of files from which to create thumbnails"; listLabel.setToolTipText(listTip); left.add(GUIUtil.pad(listLabel)); // list of files to convert list = new JList(); listLabel.setLabelFor(list); list.setToolTipText(listTip); list.setModel(new DefaultListModel()); list.setDragEnabled(true); changeFilesInList = new ThumbTransferHandler(); list.setTransferHandler(changeFilesInList); left.add(new JScrollPane(list)); // progress bar progress = new JProgressBar(0, 1); progress.setString("[Drag and drop files onto list to begin]"); progress.setStringPainted(true); progress.setToolTipText("Status of thumbnail processing operation"); left.add(progress); // panel for process and remove buttons JPanel p = new JPanel(); p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS)); // add files button addFiles = new JButton("Add Files"); addFiles.setMnemonic('d'); addFiles.setToolTipText("Add files to be processed."); addFiles.addActionListener(this); p.add(addFiles); p.add(Box.createHorizontalStrut(5)); // process button process = new JButton("Process"); process.setMnemonic('p'); process.setToolTipText("Begin creating thumbnails"); process.addActionListener(this); p.add(process); p.add(Box.createHorizontalStrut(5)); // remove button remove = new JButton("Remove"); remove.setMnemonic('v'); remove.setToolTipText("Remove selected files from the list"); remove.addActionListener(this); p.add(remove); left.add(GUIUtil.pad(p)); // right-hand panel JPanel right = new JPanel(); right.setLayout(new BoxLayout(right, BoxLayout.Y_AXIS)); top.add(right); // panel for resolution settings p = new JPanel(); p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS)); // resolution label JLabel resLabel = GUIUtil.makeLabel("Resolution: "); resLabel.setDisplayedMnemonic('s'); resLabel.setToolTipText("Resolution of the thumbnails"); p.add(resLabel); // x resolution text box xres = GUIUtil.makeTextField(myPrefs.getStringPref(ThumbMakerPreferences.RES_WIDTH_PREF_NAME), 2); resLabel.setLabelFor(xres); xres.setToolTipText("Thumbnail width"); p.add(xres); // "by" label JLabel byLabel = GUIUtil.makeLabel(" by "); byLabel.setDisplayedMnemonic('y'); p.add(byLabel); // y resolution text box yres = GUIUtil.makeTextField(myPrefs.getStringPref(ThumbMakerPreferences.RES_HEIGHT_PREF_NAME), 2); byLabel.setLabelFor(yres); yres.setToolTipText("Thumbnail height"); p.add(yres); right.add(GUIUtil.pad(p)); right.add(Box.createVerticalStrut(8)); // aspect ratio checkbox aspect = new JCheckBox("Maintain aspect ratio", true); aspect.setMnemonic('m'); aspect.setToolTipText( "When checked, thumbnails are not stretched, " + "but rather padded with the background color."); aspect.addActionListener(this); right.add(GUIUtil.pad(aspect)); // make sure that the check box is initialized correctly aspect.setSelected( myPrefs .getStringPref(ThumbMakerPreferences.DO_MAINTAIN_ASPECT_PREF_NAME) .equalsIgnoreCase(ThumbMakerPreferences.BOOLEAN_TRUE_STRING)); // panel for background color p = new JPanel(); p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS)); // load the color values from the preferences int redValueNumber = myPrefs.getIntegerPref(ThumbMakerPreferences.RED_VALUE_PREF_NAME); int greenValueNumber = myPrefs.getIntegerPref(ThumbMakerPreferences.GREEN_VALUE_PREF_NAME); int blueValueNumber = myPrefs.getIntegerPref(ThumbMakerPreferences.BLUE_VALUE_PREF_NAME); // background color label colorLabel = GUIUtil.makeLabel("Background color: "); String colorTip = "Thumbnail background color"; colorLabel.setToolTipText(colorTip); p.add(colorLabel); // background color colorBox = new JPanel(); colorBox.setToolTipText(colorTip); colorBox.setBorder(new LineBorder(Color.black, 1)); Dimension colorBoxSize = new Dimension(45, 15); colorBox.setMaximumSize(colorBoxSize); colorBox.setMinimumSize(colorBoxSize); colorBox.setPreferredSize(colorBoxSize); colorBox.setBackground(new Color(redValueNumber, greenValueNumber, blueValueNumber)); p.add(colorBox); right.add(GUIUtil.pad(p)); right.add(Box.createVerticalStrut(2)); // red slider redLabel = GUIUtil.makeLabel("R"); red = new JSlider(0, 255, redValueNumber); redValue = GUIUtil.makeLabel("" + redValueNumber); redValue.setToolTipText("Red color component slider"); right.add(makeSlider(redLabel, red, redValue, "Red")); // green slider greenLabel = GUIUtil.makeLabel("G"); green = new JSlider(0, 255, greenValueNumber); greenValue = GUIUtil.makeLabel("" + greenValueNumber); greenValue.setToolTipText("Green color component slider"); right.add(makeSlider(greenLabel, green, greenValue, "Green")); // blue slider blueLabel = GUIUtil.makeLabel("B"); blue = new JSlider(0, 255, blueValueNumber); blueValue = GUIUtil.makeLabel("" + blueValueNumber); right.add(makeSlider(blueLabel, blue, blueValue, "Blue")); right.add(Box.createVerticalStrut(8)); // panel for algorithm p = new JPanel(); p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS)); // algorithm label JLabel algorithmLabel = GUIUtil.makeLabel("Algorithm: "); algorithmLabel.setDisplayedMnemonic('l'); String algorithmTip = "Resizing algorithm to use"; algorithmLabel.setToolTipText(algorithmTip); p.add(algorithmLabel); // algorithm combo box algorithm = GUIUtil.makeComboBox( new String[] {"Smooth", "Standard", "Fast", "Replicate", "Area averaging"}); algorithmLabel.setLabelFor(algorithm); algorithm.setToolTipText(algorithmTip); p.add(algorithm); // set the algorithm value from the preferences algorithm.setSelectedIndex(myPrefs.getIntegerPref(ThumbMakerPreferences.RESIZE_ALG_PREF_NAME)); right.add(GUIUtil.pad(p)); // panel for output format p = new JPanel(); p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS)); // format label JLabel formatLabel = GUIUtil.makeLabel("Format: "); formatLabel.setDisplayedMnemonic('f'); String formatTip = "Thumbnail output format"; formatLabel.setToolTipText(formatTip); p.add(formatLabel); // format combo box format = GUIUtil.makeComboBox(new String[] {"PNG", "JPG"}); formatLabel.setLabelFor(format); format.setToolTipText(formatTip); p.add(format); // set the format value from the preferences format.setSelectedIndex(myPrefs.getIntegerPref(ThumbMakerPreferences.THUMB_FORMAT_PREF_NAME)); right.add(GUIUtil.pad(p)); right.add(Box.createVerticalStrut(5)); // panel for prepend string p = new JPanel(); p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS)); // prepend label JLabel prependLabel = GUIUtil.makeLabel("Prepend: "); prependLabel.setDisplayedMnemonic('e'); String prependTip = "Starting string for each thumbnail filename"; prependLabel.setToolTipText(prependTip); p.add(prependLabel); // prepend field prepend = GUIUtil.makeTextField( myPrefs.getStringPref(ThumbMakerPreferences.STRING_TO_PREPEND_PREF_NAME), 4); prependLabel.setLabelFor(prepend); prepend.setToolTipText(prependTip); p.add(prepend); p.add(Box.createHorizontalStrut(5)); // append label JLabel appendLabel = GUIUtil.makeLabel("Append: "); appendLabel.setDisplayedMnemonic('a'); String appendTip = "Ending string for each thumbnail filename"; appendLabel.setToolTipText(appendTip); p.add(appendLabel); // append field append = GUIUtil.makeTextField( myPrefs.getStringPref(ThumbMakerPreferences.STRING_TO_APPEND_PREF_NAME), 4); appendLabel.setLabelFor(append); append.setToolTipText(appendTip); p.add(append); right.add(GUIUtil.pad(p)); // vertical padding right.add(Box.createVerticalGlue()); // bottom panel JPanel bottom = new JPanel(); bottom.setLayout(new BoxLayout(bottom, BoxLayout.X_AXIS)); pane.add(bottom); // output folder label JLabel outputLabel = GUIUtil.makeLabel("Output folder: "); outputLabel.setDisplayedMnemonic('o'); String outputTip = "Thumbnail output folder"; outputLabel.setToolTipText(outputTip); bottom.add(outputLabel); // output folder field String filePath = new File(myPrefs.getStringPref(ThumbMakerPreferences.FILE_PATH_STRING_PREF_NAME)) .getAbsolutePath(); output = GUIUtil.makeTextField(filePath, 8); outputLabel.setLabelFor(output); output.setToolTipText(outputTip); // start this in default and then lock down so "..." is used output.setEditable(false); output.setBackground(Color.LIGHT_GRAY); bottom.add(output); // add a file chooser button "..." dotDotDot = new JButton("..."); dotDotDot.setMnemonic('.'); dotDotDot.setToolTipText("Select destination directory."); dotDotDot.addActionListener(this); bottom.add(dotDotDot); right.add(GUIUtil.pad(p)); setFromPreferences(); addWindowListener(this); }