Source Code : ComoboBox loads and saves items automatically from a file
Java Is Open Source Programming Language You Can Download From Java and Java Libraries From http://www.oracle.com.
Click Here to download
We provide this code related to title for you to solve your developing problem easily. Libraries which is import in this program you can download from http://www.oracle.com.
Click Here or search from google with Libraries Name you get jar file related it
ComoboBox loads and saves items automatically from a file

import java.awt.BorderLayout;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInput;
import java.io.ObjectInputStream;
import java.io.ObjectOutput;
import java.io.ObjectOutputStream;
import java.net.URL;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.ComboBoxModel;
import javax.swing.JComboBox;
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.event.HyperlinkEvent;
import javax.swing.event.HyperlinkListener;
public class MemComboBoxDemo extends JFrame {
protected MemComboBox urlComboBox = new MemComboBox();
public MemComboBoxDemo() {
super();
setSize(300, 100);
getContentPane().setLayout(new BorderLayout());
JPanel p = new JPanel();
p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS));
p.add(new JLabel("Address"));
urlComboBox.load("addresses.dat");
ComboBoxListener lst = new ComboBoxListener();
urlComboBox.addActionListener(lst);
MemComboAgent agent = new MemComboAgent(urlComboBox);
p.add(urlComboBox);
getContentPane().add(p, BorderLayout.NORTH);
WindowListener wndCloser = new WindowAdapter() {
public void windowClosing(WindowEvent e) {
urlComboBox.save("addresses.dat");
System.exit(0);
}
};
addWindowListener(wndCloser);
setVisible(true);
urlComboBox.grabFocus();
}
class ComboBoxListener implements ActionListener{
public void actionPerformed(ActionEvent evt) {
System.out.println( urlComboBox.getSelectedItem());
}
}
public static void main(String argv[]) {
new MemComboBoxDemo();
}
}
class MemComboAgent extends KeyAdapter {
protected JComboBox comboBox;
protected JTextField editor;
public MemComboAgent(JComboBox c) {
comboBox = c;
editor = (JTextField) c.getEditor().getEditorComponent();
editor.addKeyListener(this);
}
public void keyReleased(KeyEvent e) {
char ch = e.getKeyChar();
if (ch == KeyEvent.CHAR_UNDEFINED || Character.isISOControl(ch))
return;
int pos = editor.getCaretPosition();
String str = editor.getText();
if (str.length() == 0)
return;
for (int k = 0; k < comboBox.getItemCount(); k++) {
String item = comboBox.getItemAt(k).toString();
if (item.startsWith(str)) {
editor.setText(item);
editor.setCaretPosition(item.length());
editor.moveCaretPosition(pos);
break;
}
}
}
}
class MemComboBox extends JComboBox {
public static final int MAX_MEM_LEN = 30;
public MemComboBox() {
super();
setEditable(true);
}
public void add(String item) {
removeItem(item);
insertItemAt(item, 0);
setSelectedItem(item);
if (getItemCount() > MAX_MEM_LEN)
removeItemAt(getItemCount() - 1);
}
public void load(String fName) {
try {
if (getItemCount() > 0)
removeAllItems();
File f = new File(fName);
if (!f.exists())
return;
FileInputStream fStream = new FileInputStream(f);
ObjectInput stream = new ObjectInputStream(fStream);
Object obj = stream.readObject();
if (obj instanceof ComboBoxModel)
setModel((ComboBoxModel) obj);
stream.close();
fStream.close();
} catch (Exception e) {
System.err.println("Serialization error: " + e.toString());
}
}
public void save(String fName) {
try {
FileOutputStream fStream = new FileOutputStream(fName);
ObjectOutput stream = new ObjectOutputStream(fStream);
stream.writeObject(getModel());
stream.flush();
stream.close();
fStream.close();
} catch (Exception e) {
System.err.println("Serialization error: " + e.toString());
}
}
}
Thank with us