in j2me/src/main/java/com/intellij/j2meplugin/module/settings/midp/MIDPSettingsConfigurable.java [86:272]
public JPanel createComponent() {
ActionListener modifier = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
myModified = true;
}
};
DocumentAdapter textModifier = new DocumentAdapter() {
@Override
protected void textChanged(@NotNull DocumentEvent e) {
myModified = true;
}
};
DocumentAdapter defaultModifier = new DocumentAdapter() {
@Override
protected void textChanged(@NotNull DocumentEvent e) {
mySettings.setDefaultModified(true);
}
};
myMIDletNameLabel.setText(MIDPApplicationType.MIDLET_NAME + ":");
myMIDletName.getDocument().addDocumentListener(textModifier);
myMIDletName.getDocument().addDocumentListener(defaultModifier);
myMIDletVersionLabel.setText(MIDPApplicationType.MIDLET_VERSION + ":");
myMIDletVersion.getDocument().addDocumentListener(textModifier);
myMIDletVersion.addFocusListener(new FocusListener() {
@Override
public void focusGained(FocusEvent e) {
myMIDletVersion.selectAll();
}
@Override
public void focusLost(FocusEvent e) {
}
});
myMIDletVendorLabel.setText(MIDPApplicationType.MIDLET_VENDOR + ":");
myMIDletVendor.getDocument().addDocumentListener(textModifier);
myMIDletVendor.addFocusListener(new FocusListener() {
@Override
public void focusGained(FocusEvent e) {
myMIDletVendor.selectAll();
}
@Override
public void focusLost(FocusEvent e) {
}
});
myMIDletJarUrlLabel.setText(MIDPApplicationType.MIDLET_JAR_URL + ":");
myMIDletJarUrl.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
FileChooserDescriptor fileChooserDescriptor = FileChooserDescriptorFactory.createSingleLocalFileDescriptor();
fileChooserDescriptor.setTitle(J2MEBundle.message("build.settings.jar.utl.title"));
fileChooserDescriptor.setDescription(J2MEBundle.message("build.settings.jar.url"));
String directoryName = myMIDletJarUrl.getText().trim();
VirtualFile initialFile = LocalFileSystem.getInstance().findFileByPath(directoryName.replace(File.separatorChar, '/'));
VirtualFile file = FileChooser.chooseFile(fileChooserDescriptor, myProject, initialFile);
if (file != null) {
myMIDletJarUrl.setText(FileUtil.toSystemIndependentName(file.getPresentableUrl()));
}
}
});
myMIDletJarUrl.addActionListener(modifier);
myMIDletJarUrl.getTextField().getDocument().addDocumentListener(textModifier);
myMIDletJarUrl.getTextField().getDocument().addDocumentListener(defaultModifier);
myMoveUpButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (myMIDletList.getSelectedIndex() <= 0) return;
moveMIDlet(-1);
myModified = true;
}
});
myMoveDownButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (myMIDletList.getSelectedValue() == null || myMIDletList.getSelectedIndex() >= myListModel.size() - 1) return;
moveMIDlet(+1);
myModified = true;
}
});
myMIDletList.setModel(myListModel);
myMIDletList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
myMIDletList.setCellRenderer(new DefaultListCellRenderer() {
@Override
public Component getListCellRendererComponent(JList jList, Object o, int i, boolean b, boolean b1) {
super.getListCellRendererComponent(jList, o, i, b, b1);
setText(((MIDPSettings.MIDletProperty)o).getName());
return this;
}
});
myRemoveButton.setEnabled(false);
myEditButton.setEnabled(false);
myMoveUpButton.setEnabled(false);
myMoveDownButton.setEnabled(false);
myMIDletList.addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
if (myMIDletList.getSelectedIndex() == -1) {
myRemoveButton.setEnabled(false);
myEditButton.setEnabled(false);
myMoveUpButton.setEnabled(false);
myMoveDownButton.setEnabled(false);
}
else {
myEditButton.setEnabled(true);
myRemoveButton.setEnabled(true);
if (myMIDletList.getSelectedIndex() != 0) {
myMoveUpButton.setEnabled(true);
}
else {
myMoveUpButton.setEnabled(false);
}
if (myMIDletList.getSelectedIndex() != myListModel.getSize() - 1) {
myMoveDownButton.setEnabled(true);
}
else {
myMoveDownButton.setEnabled(false);
}
}
}
});
myRemoveButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (myMIDletList.getSelectedValue() == null) return;
MIDPSettings.MIDletProperty midlet = (MIDPSettings.MIDletProperty)myMIDletList.getSelectedValue();
ArrayList<MIDPSettings.MIDletProperty> midlets = new ArrayList<>();
for (int i = 0; i < myListModel.size(); i++) {
final MIDPSettings.MIDletProperty property = (MIDPSettings.MIDletProperty)myListModel.get(i);
if (!property.equals(midlet)){
midlets.add(property);
}
}
myListModel.clear();
int midletCount = 1;
for (MIDPSettings.MIDletProperty key : midlets) {
final MIDPSettings.MIDletProperty property = new MIDPSettings.MIDletProperty(MIDPApplicationType.MIDLET_PREFIX + midletCount,
key.getValueString());
myListModel.addElement(property);
midletCount++;
}
myModified = true;
}
});
myAddButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
new MIDletOptionsPanel(myWholePanel,
new MIDPSettings.MIDletProperty("", "", "",
MIDPApplicationType.MIDLET_PREFIX + (myListModel.size() + 1)),
false).show();
}
});
myEditButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (myMIDletList.getSelectedValue() == null) return;
new MIDletOptionsPanel(myWholePanel,
(MIDPSettings.MIDletProperty)myMIDletList.getSelectedValue(),
true).show();
}
});
myOptionalSettingsButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
new AdditionalOptionsPanel(myWholePanel).show();
}
});
myOptionalSettingsButton.setVisible(myModule != null);
return myWholePanel;
}