use of org.kse.utilities.oid.ObjectIdComparator in project keystore-explorer by kaikramer.
the class DAddExtensions method initComponents.
private void initComponents() {
jbAdd = new JButton(new ImageIcon(Toolkit.getDefaultToolkit().createImage(getClass().getResource(res.getString("DAddExtensions.jbAdd.image")))));
jbAdd.setMargin(new Insets(2, 2, 0, 0));
jbAdd.setToolTipText(res.getString("DAddExtensions.jbAdd.tooltip"));
jbAdd.setMnemonic(res.getString("DAddExtensions.jbAdd.mnemonic").charAt(0));
jbAdd.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
try {
CursorUtil.setCursorBusy(DAddExtensions.this);
addPressed();
} finally {
CursorUtil.setCursorFree(DAddExtensions.this);
}
}
});
jbEdit = new JButton(new ImageIcon(Toolkit.getDefaultToolkit().createImage(getClass().getResource(res.getString("DAddExtensions.jbEdit.image")))));
jbEdit.setMargin(new Insets(2, 2, 0, 0));
jbEdit.setToolTipText(res.getString("DAddExtensions.jbEdit.tooltip"));
jbEdit.setMnemonic(res.getString("DAddExtensions.jbEdit.mnemonic").charAt(0));
jbEdit.setEnabled(false);
jbEdit.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
try {
CursorUtil.setCursorBusy(DAddExtensions.this);
editPressed();
} finally {
CursorUtil.setCursorFree(DAddExtensions.this);
}
}
});
jbToggleCriticality = new JButton(new ImageIcon(Toolkit.getDefaultToolkit().createImage(getClass().getResource(res.getString("DAddExtensions.jbToggleCriticality.image")))));
jbToggleCriticality.setMargin(new Insets(2, 2, 0, 0));
jbToggleCriticality.setToolTipText(res.getString("DAddExtensions.jbToggleCriticality.tooltip"));
jbToggleCriticality.setMnemonic(res.getString("DAddExtensions.jbToggleCriticality.mnemonic").charAt(0));
jbToggleCriticality.setEnabled(false);
jbToggleCriticality.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
try {
CursorUtil.setCursorBusy(DAddExtensions.this);
toggleCriticalityPressed();
} finally {
CursorUtil.setCursorFree(DAddExtensions.this);
}
}
});
jbRemove = new JButton(new ImageIcon(Toolkit.getDefaultToolkit().createImage(getClass().getResource(res.getString("DAddExtensions.jbRemove.image")))));
jbRemove.setMargin(new Insets(2, 2, 0, 0));
jbRemove.setToolTipText(res.getString("DAddExtensions.jbRemove.tooltip"));
jbRemove.setMnemonic(res.getString("DAddExtensions.jbRemove.mnemonic").charAt(0));
jbRemove.setEnabled(false);
jbRemove.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
try {
CursorUtil.setCursorBusy(DAddExtensions.this);
removePressed();
} finally {
CursorUtil.setCursorFree(DAddExtensions.this);
}
}
});
jpExtensionButtons = new JPanel();
jpExtensionButtons.setLayout(new BoxLayout(jpExtensionButtons, BoxLayout.Y_AXIS));
jpExtensionButtons.add(Box.createVerticalGlue());
jpExtensionButtons.add(jbAdd);
jpExtensionButtons.add(Box.createVerticalStrut(3));
jpExtensionButtons.add(jbEdit);
jpExtensionButtons.add(Box.createVerticalStrut(3));
jpExtensionButtons.add(jbToggleCriticality);
jpExtensionButtons.add(Box.createVerticalStrut(3));
jpExtensionButtons.add(jbRemove);
jpExtensionButtons.add(Box.createVerticalGlue());
ExtensionsTableModel extensionsTableModel = new ExtensionsTableModel();
jtExtensions = new JKseTable(extensionsTableModel);
TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(extensionsTableModel);
sorter.setComparator(2, new ObjectIdComparator());
jtExtensions.setRowSorter(sorter);
jtExtensions.setShowGrid(false);
jtExtensions.setRowMargin(0);
jtExtensions.getColumnModel().setColumnMargin(0);
jtExtensions.getTableHeader().setReorderingAllowed(false);
jtExtensions.setAutoResizeMode(JKseTable.AUTO_RESIZE_ALL_COLUMNS);
jtExtensions.setRowHeight(Math.max(18, jtExtensions.getRowHeight()));
for (int i = 0; i < jtExtensions.getColumnCount(); i++) {
TableColumn column = jtExtensions.getColumnModel().getColumn(i);
column.setHeaderRenderer(new ExtensionsTableHeadRend(jtExtensions.getTableHeader().getDefaultRenderer()));
column.setCellRenderer(new ExtensionsTableCellRend());
}
TableColumn criticalCol = jtExtensions.getColumnModel().getColumn(0);
criticalCol.setResizable(false);
criticalCol.setMinWidth(28);
criticalCol.setMaxWidth(28);
criticalCol.setPreferredWidth(28);
ListSelectionModel selectionModel = jtExtensions.getSelectionModel();
selectionModel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
selectionModel.addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent evt) {
if (!evt.getValueIsAdjusting()) {
try {
CursorUtil.setCursorBusy(DAddExtensions.this);
updateButtonControls();
} finally {
CursorUtil.setCursorFree(DAddExtensions.this);
}
}
}
});
jtExtensions.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent evt) {
maybeEditExtension(evt);
}
});
jtExtensions.addKeyListener(new KeyAdapter() {
boolean deleteLastPressed = false;
@Override
public void keyPressed(KeyEvent evt) {
// Record delete pressed on non-Macs
if (!OperatingSystem.isMacOs()) {
deleteLastPressed = evt.getKeyCode() == KeyEvent.VK_DELETE;
}
}
@Override
public void keyReleased(KeyEvent evt) {
// Delete on non-Mac if delete was pressed and is now released
if (!OperatingSystem.isMacOs() && deleteLastPressed && evt.getKeyCode() == KeyEvent.VK_DELETE) {
try {
CursorUtil.setCursorBusy(DAddExtensions.this);
deleteLastPressed = false;
removeSelectedExtension();
} finally {
CursorUtil.setCursorFree(DAddExtensions.this);
}
}
}
@Override
public void keyTyped(KeyEvent evt) {
// Delete on Mac if back space typed
if (OperatingSystem.isMacOs() && evt.getKeyChar() == 0x08) {
try {
CursorUtil.setCursorBusy(DAddExtensions.this);
removeSelectedExtension();
} finally {
CursorUtil.setCursorFree(DAddExtensions.this);
}
}
}
});
jspExtensionsTable = PlatformUtil.createScrollPane(jtExtensions, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
jspExtensionsTable.getViewport().setBackground(jtExtensions.getBackground());
jbLoadTemplate = new JButton(res.getString("DAddExtensions.jbLoadTemplate.text"));
jbLoadTemplate.setMnemonic(res.getString("DAddExtensions.jbLoadTemplate.mnemonic").charAt(0));
jbLoadTemplate.setToolTipText(res.getString("DAddExtensions.jbLoadTemplate.tooltip"));
jbLoadTemplate.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
try {
CursorUtil.setCursorBusy(DAddExtensions.this);
loadTemplatePressed();
} finally {
CursorUtil.setCursorFree(DAddExtensions.this);
}
}
});
jbSaveTemplate = new JButton(res.getString("DAddExtensions.jbSaveTemplate.text"));
jbSaveTemplate.setMnemonic(res.getString("DAddExtensions.jbSaveTemplate.mnemonic").charAt(0));
jbSaveTemplate.setToolTipText(res.getString("DAddExtensions.jbSaveTemplate.tooltip"));
jbSaveTemplate.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
try {
CursorUtil.setCursorBusy(DAddExtensions.this);
saveTemplatePressed();
} finally {
CursorUtil.setCursorFree(DAddExtensions.this);
}
}
});
jpLoadSaveTemplate = new JPanel();
jpLoadSaveTemplate.setLayout(new BoxLayout(jpLoadSaveTemplate, BoxLayout.X_AXIS));
jpLoadSaveTemplate.add(Box.createHorizontalGlue());
jpLoadSaveTemplate.add(jbLoadTemplate);
jpLoadSaveTemplate.add(Box.createHorizontalStrut(5));
jpLoadSaveTemplate.add(jbSaveTemplate);
jpExtensions = new JPanel(new BorderLayout(5, 5));
jpExtensions.setPreferredSize(new Dimension(450, 200));
jpExtensions.add(jspExtensionsTable, BorderLayout.CENTER);
jpExtensions.add(jpExtensionButtons, BorderLayout.EAST);
jpExtensions.add(jpLoadSaveTemplate, BorderLayout.SOUTH);
jpExtensions.setBorder(new CompoundBorder(new EmptyBorder(5, 5, 5, 5), new CompoundBorder(new EtchedBorder(), new EmptyBorder(5, 5, 5, 5))));
jbOK = new JButton(res.getString("DAddExtensions.jbOK.text"));
jbOK.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
okPressed();
}
});
jbCancel = new JButton(res.getString("DAddExtensions.jbCancel.text"));
jbCancel.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
cancelPressed();
}
});
jbCancel.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), CANCEL_KEY);
jbCancel.getActionMap().put(CANCEL_KEY, new AbstractAction() {
private static final long serialVersionUID = 1L;
@Override
public void actionPerformed(ActionEvent evt) {
cancelPressed();
}
});
jpButtons = PlatformUtil.createDialogButtonPanel(jbOK, jbCancel, false);
reloadExtensionsTable();
selectFirstExtensionInTable();
updateButtonControls();
getContentPane().setLayout(new BorderLayout());
getContentPane().add(jpExtensions, BorderLayout.CENTER);
getContentPane().add(jpButtons, BorderLayout.SOUTH);
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent evt) {
closeDialog();
}
});
setResizable(false);
getRootPane().setDefaultButton(jbOK);
pack();
}
use of org.kse.utilities.oid.ObjectIdComparator in project keystore-explorer by kaikramer.
the class DViewExtensions method initComponents.
private void initComponents() {
ExtensionsTableModel extensionsTableModel = new ExtensionsTableModel();
jtExtensions = new JKseTable(extensionsTableModel);
TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(extensionsTableModel);
sorter.setComparator(2, new ObjectIdComparator());
jtExtensions.setRowSorter(sorter);
jtExtensions.setShowGrid(false);
jtExtensions.setRowMargin(0);
jtExtensions.getColumnModel().setColumnMargin(0);
jtExtensions.getTableHeader().setReorderingAllowed(false);
jtExtensions.setAutoResizeMode(JKseTable.AUTO_RESIZE_ALL_COLUMNS);
jtExtensions.setRowHeight(Math.max(18, jtExtensions.getRowHeight()));
for (int i = 0; i < jtExtensions.getColumnCount(); i++) {
TableColumn column = jtExtensions.getColumnModel().getColumn(i);
column.setHeaderRenderer(new ExtensionsTableHeadRend(jtExtensions.getTableHeader().getDefaultRenderer()));
column.setCellRenderer(new ExtensionsTableCellRend());
}
TableColumn criticalCol = jtExtensions.getColumnModel().getColumn(0);
criticalCol.setResizable(false);
criticalCol.setMinWidth(28);
criticalCol.setMaxWidth(28);
criticalCol.setPreferredWidth(28);
ListSelectionModel selectionModel = jtExtensions.getSelectionModel();
selectionModel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
selectionModel.addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent evt) {
if (!evt.getValueIsAdjusting()) {
try {
CursorUtil.setCursorBusy(DViewExtensions.this);
updateExtensionValue();
} finally {
CursorUtil.setCursorFree(DViewExtensions.this);
}
}
}
});
jspExtensionsTable = PlatformUtil.createScrollPane(jtExtensions, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
jspExtensionsTable.getViewport().setBackground(jtExtensions.getBackground());
jpExtensionsTable = new JPanel(new BorderLayout(5, 5));
jpExtensionsTable.setPreferredSize(new Dimension(500, 200));
jpExtensionsTable.add(jspExtensionsTable, BorderLayout.CENTER);
jpExtensionValue = new JPanel(new BorderLayout(5, 5));
jlExtensionValue = new JLabel(res.getString("DViewExtensions.jlExtensionValue.text"));
jpExtensionValue.add(jlExtensionValue, BorderLayout.NORTH);
jepExtensionValue = new JEditorPane();
jepExtensionValue.setFont(new Font(Font.MONOSPACED, Font.PLAIN, LnfUtil.getDefaultFontSize()));
jepExtensionValue.setEditable(false);
jepExtensionValue.setToolTipText(res.getString("DViewExtensions.jtaExtensionValue.tooltip"));
// JGoodies - keep uneditable color same as editable
jepExtensionValue.putClientProperty("JTextArea.infoBackground", Boolean.TRUE);
// for displaying URLs in extensions as clickable links
jepExtensionValue.setContentType("text/html");
jepExtensionValue.addHyperlinkListener(this);
// use default font and foreground color from the component
jepExtensionValue.putClientProperty(JEditorPane.HONOR_DISPLAY_PROPERTIES, Boolean.TRUE);
jspExtensionValue = PlatformUtil.createScrollPane(jepExtensionValue, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
jpExtensionValueTextArea = new JPanel(new BorderLayout(5, 5));
jpExtensionValueTextArea.setPreferredSize(new Dimension(500, 200));
jpExtensionValueTextArea.add(jspExtensionValue, BorderLayout.CENTER);
jpExtensionValue.add(jpExtensionValueTextArea, BorderLayout.CENTER);
jbAsn1 = new JButton(res.getString("DViewExtensions.jbAsn1.text"));
PlatformUtil.setMnemonic(jbAsn1, res.getString("DViewExtensions.jbAsn1.mnemonic").charAt(0));
jbAsn1.setToolTipText(res.getString("DViewExtensions.jbAsn1.tooltip"));
jbAsn1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
try {
CursorUtil.setCursorBusy(DViewExtensions.this);
asn1DumpPressed();
} finally {
CursorUtil.setCursorFree(DViewExtensions.this);
}
}
});
jpExtensionValueAsn1 = new JPanel(new FlowLayout(FlowLayout.RIGHT));
jpExtensionValueAsn1.add(jbAsn1);
jpExtensionValue.add(jpExtensionValueAsn1, BorderLayout.SOUTH);
jpExtensions = new JPanel(new GridLayout(2, 1, 5, 5));
jpExtensions.setBorder(new CompoundBorder(new EmptyBorder(5, 5, 5, 5), new CompoundBorder(new EtchedBorder(), new EmptyBorder(5, 5, 5, 5))));
jpExtensions.add(jpExtensionsTable);
jpExtensions.add(jpExtensionValue);
jbOK = new JButton(res.getString("DViewExtensions.jbOK.text"));
jbOK.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
okPressed();
}
});
jpOK = PlatformUtil.createDialogButtonPanel(jbOK, false);
extensionsTableModel.load(extensions);
if (extensionsTableModel.getRowCount() > 0) {
jtExtensions.changeSelection(0, 0, false, false);
}
getContentPane().add(jpExtensions, BorderLayout.CENTER);
getContentPane().add(jpOK, BorderLayout.SOUTH);
setResizable(false);
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent evt) {
closeDialog();
}
});
getRootPane().setDefaultButton(jbOK);
pack();
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
jbOK.requestFocus();
}
});
}
Aggregations