Refactoring DescriptionPanel code and logic, pending further refinement and layout.

This commit is contained in:
Josh Ashton
2022-11-17 17:20:11 -07:00
parent b2bc9ad6a9
commit dd6a0c4ce4
11 changed files with 735 additions and 38 deletions
@@ -0,0 +1,78 @@
package Resources.CustomAssets;
import GUI.AppTheme;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
import javax.swing.border.LineBorder;
import java.awt.*;
public class BasicNavPanel extends JPanel implements AppTheme {
private DefaultButton backButton;
private DefaultButton continueButton;
private int continueRequirement;
public BasicNavPanel(DefaultButton backButton, DefaultButton continueButton, int continueRequirement) {
super(new GridLayout(1, 2, 30, 0));
this.backButton = backButton;
this.continueButton = continueButton;
this.continueRequirement = continueRequirement;
createNavPanel();
}
public int getContinueRequirement() {
return continueRequirement;
}
public void decreaseContinueRequirement(int value) {
continueRequirement -= value;
updateContinueRequirement();
}
public void increaseContinueRequirement(int value) {
continueRequirement += value;
updateContinueRequirement();
}
private void updateContinueRequirement() {
removeAll();
createNavPanel();
}
private void createNavPanel() {
setBackground(darkestBrown);
setBorder(new EmptyBorder(15, 150, 15, 150));
add(backButton);
if(continueRequirement == 0) {
add(continueButton);
} else {
DefaultButton requiredStepsNeeds = new DefaultButton(Integer.toString(continueRequirement) + " Points Left");
requiredStepsNeeds.select();
requiredStepsNeeds.setBorder(new LineBorder(lightAccent, 1));
requiredStepsNeeds.setBorderPainted(true);
requiredStepsNeeds.setEnabled(false);
add(requiredStepsNeeds);
}
}
}