diff --git a/src/main/java/envoy/client/ui/ChatWindow.java b/src/main/java/envoy/client/ui/ChatWindow.java index 6867f5e..7b38a3e 100644 --- a/src/main/java/envoy/client/ui/ChatWindow.java +++ b/src/main/java/envoy/client/ui/ChatWindow.java @@ -15,7 +15,6 @@ import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.DefaultListModel; -import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JList; import javax.swing.JOptionPane; @@ -63,8 +62,8 @@ public class ChatWindow extends JFrame { private JScrollPane scrollPane = new JScrollPane(); private JTextPane textPane = new JTextPane(); // private JCheckBox jCbChangeMode; - private JButton postButton = new JButton("Post"); - private JButton settingsButton = new JButton("Settings"); + private PrimaryButton postButton; + private PrimaryButton settingsButton; private static int space = 4; @@ -155,7 +154,7 @@ public class ChatWindow extends JFrame { contentPane.add(messageEnterTextArea, gbc_messageEnterTextfield); // Post Button - postButton.setBorderPainted(false); + postButton = new PrimaryButton("Post"); GridBagConstraints gbc_moveSelectionPostButton = new GridBagConstraints(); gbc_moveSelectionPostButton.fill = GridBagConstraints.BOTH; @@ -168,7 +167,7 @@ public class ChatWindow extends JFrame { contentPane.add(postButton, gbc_moveSelectionPostButton); // Settings Button - settingsButton.setBorderPainted(false); + settingsButton = new PrimaryButton("Settings"); GridBagConstraints gbc_moveSelectionSettingsButton = new GridBagConstraints(); diff --git a/src/main/java/envoy/client/ui/PrimaryButton.java b/src/main/java/envoy/client/ui/PrimaryButton.java new file mode 100644 index 0000000..06df82f --- /dev/null +++ b/src/main/java/envoy/client/ui/PrimaryButton.java @@ -0,0 +1,61 @@ +package envoy.client.ui; + +import java.awt.Graphics; + +import javax.swing.JButton; + +/** + * Project: envoy-clientChess
+ * File: PrimaryButton.javaEvent.java
+ * Created: 07.12.2019
+ * + * @author Kai S. K. Engelbart + */ +public class PrimaryButton extends JButton { + + private static final long serialVersionUID = 3662266120667728364L; + + private int arcSize; + + /** + * Creates a primary button with a white text color and a purple background + * color. + * + * @param title the title of the button + */ + public PrimaryButton(String title) { this(title, 6); } + + /** + * Creates a primary button with a white text color and a purple background + * color. + * + * @param title the title of the button + * @param the size of the arc used to draw the round button edges + */ + public PrimaryButton(String title, int arcSize) { + super(title); + // setForeground(new Color(255, 255, 255)); + // setBackground(new Color(102, 51, 153)); + setBorderPainted(false); + setFocusPainted(false); + setContentAreaFilled(false); + this.arcSize = arcSize; + } + + @Override + protected void paintComponent(Graphics g) { + g.setColor(getBackground()); + g.fillRoundRect(0, 0, getWidth(), getHeight(), arcSize, arcSize); + super.paintComponent(g); + } + + /** + * @return the arcSize + */ + public int getArcSize() { return arcSize; } + + /** + * @param arcSize the arcSize to set + */ + public void setArcSize(int arcSize) { this.arcSize = arcSize; } +} \ No newline at end of file