use of betterquesting.api2.client.gui.misc.GuiRectangle in project BetterQuesting by Funwayguy.
the class GuiHome method initPanel.
@Override
public void initPanel() {
super.initPanel();
PEventBroadcaster.INSTANCE.register(this, PEventButton.class);
ResourceLocation homeGui = new ResourceLocation(QuestSettings.INSTANCE.getProperty(NativeProps.HOME_IMAGE));
IGuiTexture homeSplashBG = new SimpleTexture(homeGui, new GuiRectangle(0, 0, 256, 128));
IGuiTexture homeSplashTitle = new SimpleTexture(homeGui, new GuiRectangle(0, 128, 256, 128)).maintainAspect(true);
float ancX = QuestSettings.INSTANCE.getProperty(NativeProps.HOME_ANC_X);
float ancY = QuestSettings.INSTANCE.getProperty(NativeProps.HOME_ANC_Y);
int offX = QuestSettings.INSTANCE.getProperty(NativeProps.HOME_OFF_X);
int offY = QuestSettings.INSTANCE.getProperty(NativeProps.HOME_OFF_Y);
// Background panel
CanvasTextured bgCan = new CanvasTextured(new GuiTransform(GuiAlign.FULL_BOX, new GuiPadding(0, 0, 0, 0), 0), PresetTexture.PANEL_MAIN.getTexture());
this.addPanel(bgCan);
// Inner canvas bounds
CanvasEmpty inCan = new CanvasEmpty(new GuiTransform(GuiAlign.FULL_BOX, new GuiPadding(16, 16, 16, 16), 0));
bgCan.addPanel(inCan);
CanvasTextured splashCan = new CanvasTextured(new GuiTransform(GuiAlign.FULL_BOX, new GuiPadding(0, 0, 0, 32), 0), homeSplashBG);
inCan.addPanel(splashCan);
CanvasTextured splashTitle = new CanvasTextured(new GuiTransform(new Vector4f(ancX, ancY, ancX, ancY), new GuiPadding(offX, offY, -256 - offX, -128 - offY), 0), homeSplashTitle);
splashCan.addPanel(splashTitle);
PanelButton btnExit = new PanelButton(new GuiTransform(new Vector4f(0F, 1F, 0.25F, 1F), new GuiPadding(0, -32, 0, 0), 0), 0, I18n.format("betterquesting.home.exit"));
inCan.addPanel(btnExit);
PanelButton btnQuests = new PanelButton(new GuiTransform(new Vector4f(0.25F, 1F, 0.5F, 1F), new GuiPadding(0, -32, 0, 0), 0), 1, I18n.format("betterquesting.home.quests"));
inCan.addPanel(btnQuests);
PanelButton btnParty = new PanelButton(new GuiTransform(new Vector4f(0.5F, 1F, 0.75F, 1F), new GuiPadding(0, -32, 0, 0), 0), 2, I18n.format("betterquesting.home.party"));
inCan.addPanel(btnParty);
PanelButton btnTheme = new PanelButton(new GuiTransform(new Vector4f(0.75F, 1F, 1F, 1F), new GuiPadding(0, -32, 0, 0), 0), 3, I18n.format("betterquesting.home.theme"));
inCan.addPanel(btnTheme);
if (QuestingAPI.getAPI(ApiReference.SETTINGS).canUserEdit(mc.player)) {
PanelButton btnEdit = new PanelButton(new GuiTransform(GuiAlign.TOP_LEFT, new GuiPadding(0, 0, -16, -16), 0), 4, "").setIcon(PresetIcon.ICON_GEAR.getTexture());
inCan.addPanel(btnEdit);
}
}
use of betterquesting.api2.client.gui.misc.GuiRectangle in project BetterQuesting by Funwayguy.
the class GuiQuest method initPanel.
@Override
public void initPanel() {
super.initPanel();
this.quest = QuestDatabase.INSTANCE.getValue(questID);
if (quest == null) {
mc.displayGuiScreen(this.parent);
return;
}
PEventBroadcaster.INSTANCE.register(this, PEventButton.class);
// TODO: Register quest updated event
// Background panel
CanvasTextured cvBackground = new CanvasTextured(new GuiTransform(GuiAlign.FULL_BOX, new GuiPadding(0, 0, 0, 0), 0), PresetTexture.PANEL_MAIN.getTexture());
this.addPanel(cvBackground);
PanelTextBox panTxt = new PanelTextBox(new GuiTransform(GuiAlign.TOP_EDGE, new GuiPadding(0, 16, 0, -32), 0), I18n.format(quest.getUnlocalisedName())).setAlignment(1);
panTxt.setColor(PresetColor.TEXT_HEADER.getColor());
cvBackground.addPanel(panTxt);
if (QuestingAPI.getAPI(ApiReference.SETTINGS).canUserEdit(mc.player)) {
cvBackground.addPanel(new PanelButton(new GuiTransform(GuiAlign.BOTTOM_CENTER, -100, -16, 100, 16, 0), 0, I18n.format("gui.back")));
cvBackground.addPanel(new PanelButton(new GuiTransform(GuiAlign.BOTTOM_CENTER, 0, -16, 100, 16, 0), 1, I18n.format("betterquesting.btn.edit")));
} else {
cvBackground.addPanel(new PanelButton(new GuiTransform(GuiAlign.BOTTOM_CENTER, -100, -16, 200, 16, 0), 0, I18n.format("gui.back")));
}
cvInner = new CanvasEmpty(new GuiTransform(GuiAlign.FULL_BOX, new GuiPadding(16, 32, 16, 24), 0));
cvBackground.addPanel(cvInner);
if (quest.getRewards().size() > 0) {
CanvasScrolling cvDesc = new CanvasScrolling(new GuiTransform(new Vector4f(0F, 0F, 0.5F, 0.5F), new GuiPadding(0, 0, 16, 16), 0));
cvInner.addPanel(cvDesc);
PanelTextBox paDesc = new PanelTextBox(new GuiRectangle(0, 0, cvDesc.getTransform().getWidth(), 0), I18n.format(quest.getUnlocalisedDescription()), true);
paDesc.setColor(PresetColor.TEXT_MAIN.getColor());
cvDesc.addPanel(paDesc);
PanelVScrollBar paDescScroll = new PanelVScrollBar(new GuiTransform(GuiAlign.quickAnchor(GuiAlign.TOP_CENTER, GuiAlign.MID_CENTER), new GuiPadding(-16, 0, 8, 16), 0));
cvInner.addPanel(paDescScroll);
cvDesc.setScrollDriverY(paDescScroll);
paDescScroll.setEnabled(cvDesc.getScrollBounds().getHeight() > 0);
btnClaim = new PanelButton(new GuiTransform(new Vector4f(0F, 1F, 0.5F, 1F), new GuiPadding(16, -16, 24, 0), 0), 6, I18n.format("betterquesting.btn.claim"));
btnClaim.setBtnState(false);
cvInner.addPanel(btnClaim);
btnRewardLeft = new PanelButton(new GuiTransform(GuiAlign.BOTTOM_LEFT, new GuiPadding(0, -16, -16, 0), 0), 2, "<");
btnRewardLeft.setBtnState(rewardIndex > 0);
cvInner.addPanel(btnRewardLeft);
btnRewardRight = new PanelButton(new GuiTransform(new Vector4f(0.5F, 1F, 0.5F, 1F), new GuiPadding(-24, -16, 8, 0), 0), 3, ">");
btnRewardRight.setBtnState(rewardIndex < quest.getRewards().size() - 1);
cvInner.addPanel(btnRewardRight);
rectReward = new GuiTransform(new Vector4f(0F, 0.5F, 0.5F, 1F), new GuiPadding(0, 0, 8, 16), 0);
rectReward.setParent(cvInner.getTransform());
titleReward = new PanelTextBox(new GuiTransform(new Vector4f(0F, 0.5F, 0.5F, 0.5F), new GuiPadding(0, -16, 8, 0), 0), "?");
titleReward.setColor(PresetColor.TEXT_HEADER.getColor()).setAlignment(1);
cvInner.addPanel(titleReward);
refreshRewardPanel();
} else {
CanvasScrolling cvDesc = new CanvasScrolling(new GuiTransform(GuiAlign.HALF_LEFT, new GuiPadding(0, 0, 16, 0), 0));
cvInner.addPanel(cvDesc);
PanelTextBox paDesc = new PanelTextBox(new GuiRectangle(0, 0, cvDesc.getTransform().getWidth(), 0), I18n.format(quest.getUnlocalisedDescription()), true);
paDesc.setColor(PresetColor.TEXT_MAIN.getColor());
cvDesc.addPanel(paDesc);
PanelVScrollBar paDescScroll = new PanelVScrollBar(new GuiTransform(GuiAlign.quickAnchor(GuiAlign.TOP_CENTER, GuiAlign.BOTTOM_CENTER), new GuiPadding(-16, 0, 8, 0), 0));
cvInner.addPanel(paDescScroll);
cvDesc.setScrollDriverY(paDescScroll);
paDescScroll.setEnabled(cvDesc.getScrollBounds().getHeight() > 0);
}
if (quest.getTasks().size() > 0) {
btnDetect = new PanelButton(new GuiTransform(new Vector4f(0.5F, 1F, 1F, 1F), new GuiPadding(24, -16, 16, 0), 0), 7, I18n.format("betterquesting.btn.detect_submit"));
btnDetect.setBtnState(false);
cvInner.addPanel(btnDetect);
btnTaskLeft = new PanelButton(new GuiTransform(new Vector4f(0.5F, 1F, 0.5F, 1F), new GuiPadding(8, -16, -24, 0), 0), 4, "<");
btnTaskLeft.setBtnState(taskIndex > 0);
cvInner.addPanel(btnTaskLeft);
btnTaskRight = new PanelButton(new GuiTransform(GuiAlign.BOTTOM_RIGHT, new GuiPadding(-16, -16, 0, 0), 0), 5, ">");
btnTaskRight.setBtnState(taskIndex < quest.getTasks().size() - 1);
cvInner.addPanel(btnTaskRight);
rectTask = new GuiTransform(GuiAlign.HALF_RIGHT, new GuiPadding(8, 16, 0, 16), 0);
rectTask.setParent(cvInner.getTransform());
titleTask = new PanelTextBox(new GuiTransform(new Vector4f(0.5F, 0F, 1F, 0F), new GuiPadding(8, 0, 0, -16), 0), "?");
titleTask.setColor(PresetColor.TEXT_HEADER.getColor()).setAlignment(1);
cvInner.addPanel(titleTask);
refreshTaskPanel();
}
IGuiRect ls0 = new GuiTransform(GuiAlign.TOP_CENTER, 0, 0, 0, 0, 0);
ls0.setParent(cvInner.getTransform());
IGuiRect le0 = new GuiTransform(GuiAlign.BOTTOM_CENTER, 0, 0, 0, 0, 0);
le0.setParent(cvInner.getTransform());
PanelLine paLine0 = new PanelLine(ls0, le0, PresetLine.GUI_DIVIDER.getLine(), 1, PresetColor.GUI_DIVIDER.getColor(), 1);
cvInner.addPanel(paLine0);
}
use of betterquesting.api2.client.gui.misc.GuiRectangle in project BetterQuesting by Funwayguy.
the class GuiThemes method initPanel.
@Override
public void initPanel() {
super.initPanel();
PEventBroadcaster.INSTANCE.register(this, PEventButton.class);
// Background panel
CanvasTextured bgCan = new CanvasTextured(new GuiTransform(GuiAlign.FULL_BOX, new GuiPadding(0, 0, 0, 0), 0), PresetTexture.PANEL_MAIN.getTexture());
this.addPanel(bgCan);
// Inner canvas bounds
CanvasEmpty inCan = new CanvasEmpty(new GuiTransform(GuiAlign.FULL_BOX, new GuiPadding(16, 16, 16, 16), 0));
bgCan.addPanel(inCan);
PanelTextBox panTxt = new PanelTextBox(new GuiTransform(GuiAlign.TOP_EDGE, new GuiPadding(0, 0, 0, -16), 0), I18n.format("betterquesting.title.select_theme")).setAlignment(1);
panTxt.setColor(PresetColor.TEXT_HEADER.getColor());
inCan.addPanel(panTxt);
PanelButton btnExit = new PanelButton(new GuiTransform(GuiAlign.BOTTOM_CENTER, new GuiPadding(-100, -16, -100, 0), 0), 0, I18n.format("gui.done"));
bgCan.addPanel(btnExit);
CanvasScrolling canScroll = new CanvasScrolling(new GuiTransform(GuiAlign.HALF_LEFT, new GuiPadding(0, 16, 16, 16), 0));
inCan.addPanel(canScroll);
List<ITheme> themes = betterquesting.client.themes.ThemeRegistry.INSTANCE.getAllThemes();
// List<IGuiTheme> themes = ThemeRegistry.INSTANCE.getAllThemes();
int width = canScroll.getTransform().getWidth();
for (int i = 0; i < themes.size(); i++) {
GuiRectangle trans = new GuiRectangle(0, i * 24, width, 24, 0);
ITheme theme = themes.get(i);
PanelButtonStorage<ResourceLocation> pbs = new PanelButtonStorage<>(trans, 1, theme.getDisplayName(), theme.getThemeID());
canScroll.addPanel(pbs);
if (betterquesting.client.themes.ThemeRegistry.INSTANCE.getCurrentTheme() == theme) {
pbs.setEnabled(false);
}
}
PanelVScrollBar vsb = new PanelVScrollBar(new GuiTransform(GuiAlign.RIGHT_EDGE, new GuiPadding(0, 0, -8, 0), 0));
inCan.addPanel(vsb);
vsb.getTransform().setParent(canScroll.getTransform());
canScroll.setScrollDriverY(vsb);
scrollPanel = vsb;
// === PREVIEW PANELS ===
CanvasEmpty preCan = new CanvasEmpty(new GuiTransform(GuiAlign.HALF_RIGHT, new GuiPadding(8, 16, 0, 16), 0));
inCan.addPanel(preCan);
CanvasTextured preCanIn0 = new CanvasTextured(new GuiTransform(new Vector4f(0F, 0F, 0.5F, 0.5F), new GuiPadding(0, 0, 0, 0), 0), PresetTexture.PANEL_MAIN.getTexture());
preCan.addPanel(preCanIn0);
preCanIn0.addPanel(new PanelTextBox(new GuiTransform(GuiAlign.MID_CENTER, -32, -8, 64, 16, 0), "EXAMPLE").setAlignment(1).setColor(PresetColor.TEXT_MAIN.getColor()));
CanvasTextured preCanIn1 = new CanvasTextured(new GuiTransform(new Vector4f(0.5F, 0F, 1F, 0.5F), new GuiPadding(0, 0, 0, 0), 0), PresetTexture.PANEL_INNER.getTexture());
preCanIn1.addPanel(new PanelTextBox(new GuiTransform(GuiAlign.MID_CENTER, -32, -8, 64, 16, 0), "EXAMPLE").setAlignment(1).setColor(PresetColor.TEXT_AUX_0.getColor()));
preCan.addPanel(preCanIn1);
CanvasTextured preCanIn2 = new CanvasTextured(new GuiTransform(GuiAlign.HALF_BOTTOM, new GuiPadding(0, 0, 0, 0), 0), PresetTexture.AUX_FRAME_0.getTexture());
preCan.addPanel(preCanIn2);
IGuiTexture icoSlides = new SlideShowTexture(1F, new GuiTextureColored(PresetTexture.QUEST_NORM_0.getTexture(), PresetColor.QUEST_ICON_LOCKED.getColor()), new GuiTextureColored(PresetTexture.QUEST_NORM_1.getTexture(), PresetColor.QUEST_ICON_UNLOCKED.getColor()), new GuiTextureColored(PresetTexture.QUEST_NORM_2.getTexture(), PresetColor.QUEST_ICON_PENDING.getColor()), new GuiTextureColored(PresetTexture.QUEST_NORM_3.getTexture(), PresetColor.QUEST_ICON_COMPLETE.getColor()), new GuiTextureColored(PresetTexture.QUEST_MAIN_0.getTexture(), PresetColor.QUEST_ICON_LOCKED.getColor()), new GuiTextureColored(PresetTexture.QUEST_MAIN_1.getTexture(), PresetColor.QUEST_ICON_UNLOCKED.getColor()), new GuiTextureColored(PresetTexture.QUEST_MAIN_2.getTexture(), PresetColor.QUEST_ICON_PENDING.getColor()), new GuiTextureColored(PresetTexture.QUEST_MAIN_3.getTexture(), PresetColor.QUEST_ICON_COMPLETE.getColor()), new GuiTextureColored(PresetTexture.QUEST_AUX_0.getTexture(), PresetColor.QUEST_ICON_LOCKED.getColor()), new GuiTextureColored(PresetTexture.QUEST_AUX_1.getTexture(), PresetColor.QUEST_ICON_UNLOCKED.getColor()), new GuiTextureColored(PresetTexture.QUEST_AUX_2.getTexture(), PresetColor.QUEST_ICON_PENDING.getColor()), new GuiTextureColored(PresetTexture.QUEST_AUX_3.getTexture(), PresetColor.QUEST_ICON_COMPLETE.getColor()));
PanelGeneric pqp = new PanelGeneric(new GuiTransform(new Vector4f(0.25F, 0.5F, 0.25F, 0.5F), -12, -12, 24, 24, 0), icoSlides);
preCanIn2.addPanel(pqp);
CanvasTextured itemFrame = new CanvasTextured(new GuiTransform(new Vector4f(0.75F, 0.5F, 0.75F, 0.5F), -12, -12, 24, 24, 0), PresetTexture.ITEM_FRAME.getTexture());
itemFrame.addPanel(new PanelGeneric(new GuiTransform(GuiAlign.FULL_BOX, new GuiPadding(1, 1, 1, 1), 0), new ItemTexture(new BigItemStack(BetterQuesting.guideBook))));
preCanIn2.addPanel(itemFrame);
IGuiLine linSeq = new GuiLineSequence(1F, PresetLine.QUEST_LOCKED.getLine(), PresetLine.QUEST_UNLOCKED.getLine(), PresetLine.QUEST_PENDING.getLine(), PresetLine.QUEST_COMPLETE.getLine());
IGuiColor colSeq = new GuiColorSequence(1F, PresetColor.QUEST_LINE_LOCKED.getColor(), PresetColor.QUEST_LINE_UNLOCKED.getColor(), PresetColor.QUEST_LINE_PENDING.getColor(), PresetColor.QUEST_LINE_COMPLETE.getColor());
preCanIn2.addPanel(new PanelLine(pqp.getTransform(), itemFrame.getTransform(), linSeq, 4, colSeq, 1));
preCanIn2.addPanel(new PanelTextBox(new GuiTransform(GuiAlign.FULL_BOX, new GuiPadding(8, 8, 8, 8), 0), "EXAMPLE").setAlignment(1).setColor(PresetColor.TEXT_AUX_1.getColor()));
IGuiRect ls0 = new GuiTransform(GuiAlign.TOP_CENTER, 0, 16, 0, 0, 0);
ls0.setParent(inCan.getTransform());
IGuiRect le0 = new GuiTransform(GuiAlign.BOTTOM_CENTER, 0, -16, 0, 0, 0);
le0.setParent(inCan.getTransform());
PanelLine paLine0 = new PanelLine(ls0, le0, PresetLine.GUI_DIVIDER.getLine(), 1, PresetColor.GUI_DIVIDER.getColor(), 1);
inCan.addPanel(paLine0);
}
use of betterquesting.api2.client.gui.misc.GuiRectangle in project BetterQuesting by Funwayguy.
the class GuiQuestLinesEmbedded method drawBackground.
@Override
public void drawBackground(int mx, int my, float partialTick) {
mouseDrag(mx, my);
Minecraft mc = Minecraft.getMinecraft();
double scaleX = sizeX / 128D;
double scaleY = sizeY / 128D;
float zs = zoom / 100F;
int rmx = getRelativeX(mx);
int rmy = getRelativeY(my);
mc.renderEngine.bindTexture(currentTheme().getGuiTexture());
GlStateManager.color(1F, 1F, 1F, 1F);
GlStateManager.pushMatrix();
GlStateManager.scale(scaleX, scaleY, 1F);
GlStateManager.translate(posX / scaleX, posY / scaleY, 0);
drawTexturedModalRect(0, 0, 0, 128, 128, 128);
GlStateManager.popMatrix();
IQuest qTooltip = null;
if (qLine != null) {
GlStateManager.pushMatrix();
RenderUtils.startScissor(mc, new GuiRectangle(posX, posY, sizeX, sizeY));
GlStateManager.translate(posX + (scrollX) * zs, posY + (scrollY) * zs, 0);
GlStateManager.scale(zs, zs, 1F);
if (bgImg != null) {
GlStateManager.pushMatrix();
GlStateManager.scale(bgSize / 256F, bgSize / 256F, 1F);
mc.renderEngine.bindTexture(bgImg);
this.drawTexturedModalRect(0, 0, 0, 0, 256, 256);
GlStateManager.popMatrix();
}
for (int i = 0; i < qBtns.size(); i++) {
GuiButtonQuestInstance btnQuest = qBtns.get(i);
btnQuest.drawButton(mc, rmx, rmy, partialTick);
if (btnQuest.visible && isWithin(rmx, rmy, btnQuest.x, btnQuest.y, btnQuest.width, btnQuest.height) && isWithin(mx, my, posX, posY, sizeX, sizeY)) {
qTooltip = btnQuest.getQuest();
}
}
RenderUtils.endScissor(mc);
GlStateManager.popMatrix();
}
if (curTool != null) {
GlStateManager.pushMatrix();
RenderUtils.startScissor(mc, new GuiRectangle(posX, posY, sizeX, sizeY));
GlStateManager.translate(posX + (scrollX) * zs, posY + (scrollY) * zs, 0);
GlStateManager.scale(zs, zs, 1F);
curTool.drawTool(rmx, rmy, partialTick);
RenderUtils.endScissor(mc);
GlStateManager.popMatrix();
}
if (qTooltip != null && (curTool == null || curTool.allowTooltips())) {
curTooltip = qTooltip.getTooltip(mc.player);
} else {
curTooltip = null;
}
}
use of betterquesting.api2.client.gui.misc.GuiRectangle in project BetterQuesting by Funwayguy.
the class GuiScreenTest method initPanel.
@Override
public void initPanel() {
super.initPanel();
IGuiRect ctt = new GuiTransform(new Vector4f(0.05F, 0.05F, 0.95F, 0.95F), new GuiPadding(0, 0, 0, 0), 0);
CanvasTextured cvt1 = new CanvasTextured(ctt, PresetTexture.PANEL_MAIN.getTexture());
this.addPanel(cvt1);
CanvasScrolling cs1 = new CanvasScrolling(new GuiTransform(GuiAlign.FULL_BOX, new GuiPadding(0, 0, 12, 0), 0)).setupAdvanceScroll(true, true, 0);
cvt1.addPanel(cs1);
PanelVScrollBar pvs = new PanelVScrollBar(new GuiTransform(GuiAlign.RIGHT_EDGE, new GuiPadding(-12, 4, 4, 4), 0));
cvt1.addPanel(pvs);
cs1.setScrollDriverY(pvs);
CanvasTextured cvt2 = new CanvasTextured(new GuiRectangle(0, 0, 800, 500, 0), PresetTexture.PANEL_INNER.getTexture());
cs1.addPanel(cvt2);
PanelButton btn3 = new PanelButton(new GuiRectangle(-100, -20, 100, 20, 0), 1, "Button 3");
cs1.addPanel(btn3);
IGuiRect btt1 = new GuiTransform(GuiAlign.BOTTOM_CENTER, new GuiPadding(-100, -16, 0, 0), -1);
IGuiRect btt2 = new GuiTransform(GuiAlign.BOTTOM_CENTER, new GuiPadding(0, -16, -100, 0), -1);
PanelButton btn1 = new PanelButton(btt1, 0, "Button 1");
PanelButton btn2 = new PanelButton(btt2, 1, "Button 2");
cvt1.addPanel(btn1);
cvt1.addPanel(btn2);
try {
IGuiRect pt1 = new GuiRectangle(0, 0, 64, 64, 0);
IGuiRect pt2 = new GuiRectangle(64, 0, 48, 48, 0);
IGuiRect pt3 = new GuiRectangle(112, 0, 32, 32, 0);
PanelPlayerPortrait pp1 = new PanelPlayerPortrait(pt1, UUID.fromString("10755ea6-9721-467a-8b5c-92adf689072c"), "Darkosto");
PanelPlayerPortrait pp2 = new PanelPlayerPortrait(pt2, UUID.fromString("ef35a72a-ef00-4c2a-a2a9-58a54a7bb9fd"), "GreatOrator");
PanelPlayerPortrait pp3 = new PanelPlayerPortrait(pt3, UUID.fromString("4412cc00-65de-43ff-b19a-10e0ec64cc4a"), "Funwayguy");
cs1.addPanel(pp1);
cs1.addPanel(pp2);
cs1.addPanel(pp3);
} catch (Exception e) {
e.printStackTrace();
}
}
Aggregations