use of net.technicpack.ui.controls.TooltipWarning in project LauncherV3 by TechnicPack.
the class OptionsDialog method rebuildMemoryList.
private void rebuildMemoryList() {
for (ActionListener listener : memSelect.getActionListeners()) memSelect.removeActionListener(listener);
Container parent = null;
if (memSelect.getParent() != null) {
parent = memSelect.getParent();
parent.remove(memSelect);
if (ramWarning != null) {
parent.remove(ramWarning);
ramWarning = null;
}
}
memSelect.removeAllItems();
long maxMemory = Memory.getAvailableMemory(javaVersions.getSelectedVersion().is64Bit());
for (int i = 0; i < Memory.memoryOptions.length; i++) {
if (Memory.memoryOptions[i].getMemoryMB() <= maxMemory)
memSelect.addItem(Memory.memoryOptions[i]);
}
Memory currentMem = Memory.getMemoryFromId(settings.getMemory());
Memory availableMem = Memory.getClosestAvailableMemory(currentMem, javaVersions.getSelectedVersion().is64Bit());
if (currentMem.getMemoryMB() != availableMem.getMemoryMB()) {
settings.setMemory(availableMem.getSettingsId());
settings.save();
}
memSelect.setSelectedItem(availableMem);
memSelect.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
changeMemory();
}
});
if (parent != null) {
boolean is64Bit = true;
boolean has64Bit = true;
if (javaVersions.getBest64BitVersion() == null) {
has64Bit = false;
}
if (!javaVersions.getSelectedVersion().is64Bit()) {
is64Bit = false;
}
if (is64Bit) {
parent.add(memSelect, new GridBagConstraints(1, 1, 6, 1, 1, 0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(8, 16, 8, 80), 0, 16));
} else {
parent.add(memSelect, new GridBagConstraints(1, 1, 5, 1, 5, 0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(8, 16, 8, 0), 0, 16));
JToolTip toolTip = new JToolTip();
toolTip.setBackground(LauncherFrame.COLOR_FOOTER);
toolTip.setForeground(LauncherFrame.COLOR_GREY_TEXT);
toolTip.setBorder(BorderFactory.createCompoundBorder(new LineBorder(LauncherFrame.COLOR_GREY_TEXT), BorderFactory.createEmptyBorder(5, 5, 5, 5)));
toolTip.setFont(resources.getFont(ResourceLoader.FONT_OPENSANS, 14));
String text = null;
Icon icon = null;
if (has64Bit) {
text = resources.getString("launcheroptions.java.use64bit");
icon = resources.getIcon("danger_icon.png");
} else {
text = resources.getString("launcheroptions.java.get64bit");
icon = resources.getIcon("warning_icon.png");
}
ramWarning = new TooltipWarning(icon, toolTip);
((TooltipWarning) ramWarning).setToolTipText(text);
parent.add(ramWarning, new GridBagConstraints(6, 1, 1, 1, 0, 0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(8, 8, 8, 80), 0, 0));
}
repaint();
}
}
Aggregations