SymbolChooser - Symbole und Icons auswählen
Aus Byte-Welt Wiki
Version vom 3. Juni 2019, 17:08 Uhr von L-ectron-X (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Eine eigene Komponente zum Auswählen von Icons, Bildern oder Symbolen kann man mit Hilfe einer JOptionPane und einem JDialog erzeugen. Hier eine komplette Kl…“)
Eine eigene Komponente zum Auswählen von Icons, Bildern oder Symbolen kann man mit Hilfe einer JOptionPane und einem JDialog erzeugen.
Hier eine komplette Klasse:
public class SymbolChooser() {
private static final int INSETS = 10;
public SymbolChooser() {
JOptionPane pane = new JOptionPane(null, JOptionPane.PLAIN_MESSAGE, JOptionPane.DEFAULT_OPTION, null, new Object[]{});
JPanel panel = new JPanel(new GridLayout(0, 7));
panel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
panel.setBackground(Color.WHITE);
for (Symbol s : Symbol.values()) {
Icon icon = new ImageIcon(SymbolCatalog.getImage(s, 32, 32));
JLabel label = new JLabel(icon);
label.setPreferredSize(new Dimension(icon.getIconWidth() + INSETS, icon.getIconHeight() + INSETS));
label.setOpaque(true);
if (s.equals(this.symbol)) {
label.setBackground(iconList.getSelectionBackground());
} else {
label.setBackground(panel.getBackground());
}
label.setToolTipText(SymbolCatalog.getDescription(s));
panel.add(label);
}
JDialog dialog = pane.createDialog(iconList, "Symbol auswählen");
dialog.setContentPane(panel);
dialog.pack();
dialog.setVisible(true);
}
}