современный Дизайн C++ Alexandrescu имеет ориентированный на многопотоковое исполнение, наследуемый универсальный одиночный элемент.
Для моей 2p-ценности, я думаю, что важно определить время жизни для Ваших одиночных элементов (когда абсолютно необходимо использовать их). Я обычно не позволяю помехам get()
, функция инстанцирует чего-либо, и установки отпуска и разрушения к некоторому специализированному разделу главного приложения. Это помогает выделить зависимости между одиночными элементами - но, как подчеркнуто выше, лучше просто избегать их, если это возможно.
Просто установите цвета и границу:
private static JButton createSimpleButton(String text) {
JButton button = new JButton(text);
button.setForeground(Color.BLACK);
button.setBackground(Color.WHITE);
Border line = new LineBorder(Color.BLACK);
Border margin = new EmptyBorder(5, 15, 5, 15);
Border compound = new CompoundBorder(line, margin);
button.setBorder(compound);
return button;
}
Используйте setOpaque (false);
, чтобы сделать фон прозрачным.
Вместо этого вы можете использовать JLabel с MouseListener ... если только вы не привязаны к использованию JButton или ActionListener каким-либо образом.