Facebook Java Jar 240x320 -

private Command exitCommand; private Command postCommand; private Command refreshCommand; private Command selectCommand; private Command backCommand; private Command sendCommand;

// FacebookMIDlet.java // A Facebook-style client for 240x320 Java ME phones // Compiles with WTK, runs on J2ME / MIDP 2.0, CLDC 1.1 import javax.microedition.midlet. ; import javax.microedition.lcdui. ; import java.util.*;

public class FacebookMIDlet extends MIDlet implements CommandListener { private Display display; private Form mainForm; private List feedList; private TextBox statusBox; private Alert loadingAlert;

private void showPostStatusScreen() statusBox = new TextBox("What's on your mind?", "", 200, TextField.ANY); sendCommand = new Command("Send", Command.OK, 1); backCommand = new Command("Back", Command.BACK, 2); statusBox.addCommand(sendCommand); statusBox.addCommand(backCommand); statusBox.setCommandListener(this); display.setCurrent(statusBox); facebook java jar 240x320

private void refreshFeed() // Simulate network refresh loadingAlert = new Alert("Loading", "Refreshing news feed...", null, AlertType.INFO); loadingAlert.setTimeout(1500); display.setCurrent(loadingAlert, feedList); // In real app, you'd fetch from network here // For demo, just rebuild the list feedList.deleteAll(); for (int i = 0; i < authors.size(); i++) String item = authors.elementAt(i) + ":\n" + truncate((String)statuses.elementAt(i), 30) + "\n" + times.elementAt(i); feedList.append(item, null);

private String truncate(String s, int maxLen) if (s.length() <= maxLen) return s; return s.substring(0, maxLen - 3) + "...";

private void showStatusDetails(int index) Form detailForm = new Form("Status Details"); detailForm.append("From: " + authors.elementAt(index) + "\n\n"); detailForm.append(statuses.elementAt(index) + "\n\n"); detailForm.append("Posted: " + times.elementAt(index) + "\n\n"); detailForm.append("[Like] [Comment] [Share]"); backCommand = new Command("Back", Command.BACK, 1); detailForm.addCommand(backCommand); detailForm.setCommandListener(this); display.setCurrent(detailForm); public void startApp() if (display == null) display

private void postStatus(String message) message.trim().length() == 0) showAlert("Error", "Status cannot be empty!"); return; addStatus("You", message, "Just now"); showAlert("Success", "Status posted to Facebook!"); // Reload feed to show new status refreshFeed();

Here’s a nostalgic, full Java ME (J2ME) piece for a classic 240x320 feature phone — a Facebook-like status viewer and feed simulator, packaged conceptually as a runnable JAR.

public void startApp() if (display == null) display = Display.getDisplay(this); showMainForm(); else showMainForm(); private Vector statuses

private Vector statuses; private Vector authors; private Vector times;

public void commandAction(Command c, Displayable d) if (c == exitCommand) notifyDestroyed(); else if (c == postCommand) showPostStatusScreen(); else if (c == refreshCommand) refreshFeed(); else if (c == sendCommand && d == statusBox) String newStatus = statusBox.getString(); postStatus(newStatus); else if (c == backCommand) showMainForm(); else if (c == List.SELECT_COMMAND && d == feedList) int selected = feedList.getSelectedIndex(); if (selected >= 0) showStatusDetails(selected); else if (c == backCommand && d instanceof Form) showMainForm();

private void showAlert(String title, String message) Alert alert = new Alert(title, message, null, AlertType.INFO); alert.setTimeout(2000); display.setCurrent(alert, feedList);