Added Javadoc since tags as requested by @delvh

This commit is contained in:
Kai S. K. Engelbart 2019-12-21 10:02:25 +01:00
parent 5c93255fb6
commit cd508af2d9
4 changed files with 18 additions and 3 deletions

View File

@ -35,6 +35,7 @@ public class Theme implements Serializable {
* @param selectionColor the section color * @param selectionColor the section color
* @param typingMessageColor the color of currently typed messages * @param typingMessageColor the color of currently typed messages
* @param userNameColor the color of user names * @param userNameColor the color of user names
* @since Envoy v0.2-alpha
*/ */
public Theme(String themeName, Color backgroundColor, Color cellColor, Color interactableForegroundColor, Color interactableBackgroundColor, public Theme(String themeName, Color backgroundColor, Color cellColor, Color interactableForegroundColor, Color interactableBackgroundColor,
Color messageColorChat, Color dateColorChat, Color selectionColor, Color typingMessageColor, Color userNameColor) { Color messageColorChat, Color dateColorChat, Color selectionColor, Color typingMessageColor, Color userNameColor) {
@ -58,6 +59,7 @@ public class Theme implements Serializable {
* *
* @param name the name of the {@link Theme} * @param name the name of the {@link Theme}
* @param other the {@link Theme} to copy * @param other the {@link Theme} to copy
* @since Envoy v0.2-alpha
*/ */
public Theme(String name, Theme other) { public Theme(String name, Theme other) {
themeName = name; themeName = name;
@ -67,6 +69,7 @@ public class Theme implements Serializable {
/** /**
* @return a {@code Map<String, Color>} of all colors defined for this theme * @return a {@code Map<String, Color>} of all colors defined for this theme
* with their names as keys * with their names as keys
* @since Envoy v0.2-alpha
*/ */
public Map<String, Color> getColors() { return colors; } public Map<String, Color> getColors() { return colors; }

View File

@ -5,11 +5,16 @@ import java.awt.event.ActionListener;
import javax.swing.JPanel; import javax.swing.JPanel;
/** /**
* Serves as an interface between {@link SettingsScreen} and different
* {@link JPanel}s with actual settings that are defined as sub classes of this
* class.<br>
* <br>
* Project: <strong>envoy-client</strong><br> * Project: <strong>envoy-client</strong><br>
* File: <strong>SettingsPanel.java</strong><br> * File: <strong>SettingsPanel.java</strong><br>
* Created: <strong>20 Dec 2019</strong><br> * Created: <strong>20 Dec 2019</strong><br>
* *
* @author Kai S. K. Engelbart * @author Kai S. K. Engelbart
* @since Envoy v0.2-alpha
*/ */
public abstract class SettingsPanel extends JPanel { public abstract class SettingsPanel extends JPanel {
@ -18,6 +23,7 @@ public abstract class SettingsPanel extends JPanel {
/** /**
* @return an {@link ActionListener} that should be invoked when the OK button * @return an {@link ActionListener} that should be invoked when the OK button
* is pressed in the {@link SettingsScreen} * is pressed in the {@link SettingsScreen}
* @since Envoy v0.2-alpha
*/ */
public abstract ActionListener getOkButtonAction(); public abstract ActionListener getOkButtonAction();
} }

View File

@ -25,6 +25,7 @@ import envoy.client.util.EnvoyLog;
* @author Leon Hofmeister * @author Leon Hofmeister
* @author Maximilian K&auml;fer * @author Maximilian K&auml;fer
* @author Kai S. K. Engelbart * @author Kai S. K. Engelbart
* @since Envoy v0.2-alpha
*/ */
public class SettingsScreen extends JDialog { public class SettingsScreen extends JDialog {
@ -87,8 +88,7 @@ public class SettingsScreen extends JDialog {
logger.log(Level.FINEST, "Selected settings panel: " + option); logger.log(Level.FINEST, "Selected settings panel: " + option);
// Remove previous settings panel // Remove previous settings panel
if (settingsPanel != null) if (settingsPanel != null) contentPanel.remove(settingsPanel);
contentPanel.remove(settingsPanel);
try { try {
settingsPanel = panels.get(option).getDeclaredConstructor().newInstance(); settingsPanel = panels.get(option).getDeclaredConstructor().newInstance();
@ -99,7 +99,7 @@ public class SettingsScreen extends JDialog {
repaint(); repaint();
} catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException } catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException
| NoSuchMethodException | SecurityException e) { | NoSuchMethodException | SecurityException e) {
e.printStackTrace(); logger.log(Level.SEVERE, "Failed to invoke constructor of SettingsPanel " + option, e);
} }
} }
}); });

View File

@ -17,11 +17,15 @@ import envoy.client.ui.Theme;
import envoy.client.util.EnvoyLog; import envoy.client.util.EnvoyLog;
/** /**
* Displays GUI components that allow changing the current {@Theme} and creating
* new ones.<br>
* <br>
* Project: <strong>envoy-client</strong><br> * Project: <strong>envoy-client</strong><br>
* File: <strong>ThemeCustomizationPanel.java</strong><br> * File: <strong>ThemeCustomizationPanel.java</strong><br>
* Created: <strong>20 Dec 2019</strong><br> * Created: <strong>20 Dec 2019</strong><br>
* *
* @author Kai S. K. Engelbart * @author Kai S. K. Engelbart
* @since Envoy v0.2-alpha
*/ */
public class ThemeCustomizationPanel extends SettingsPanel { public class ThemeCustomizationPanel extends SettingsPanel {
@ -42,6 +46,8 @@ public class ThemeCustomizationPanel extends SettingsPanel {
* Initializes a {@link ThemeCustomizationPanel} that enables the user to change * Initializes a {@link ThemeCustomizationPanel} that enables the user to change
* the current {@link Theme} and create new themes as part of the * the current {@link Theme} and create new themes as part of the
* {@link SettingsScreen}. * {@link SettingsScreen}.
*
* @since Envoy v0.2-alpha
*/ */
public ThemeCustomizationPanel() { public ThemeCustomizationPanel() {
temporaryTheme = new Theme("temporaryTheme", Settings.getInstance().getThemes().get(Settings.getInstance().getCurrentTheme())); temporaryTheme = new Theme("temporaryTheme", Settings.getInstance().getThemes().get(Settings.getInstance().getCurrentTheme()));