Search in sources :

Example 1 with TooltipWarning

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();
    }
}
Also used : Memory(net.technicpack.utilslib.Memory) ActionEvent(java.awt.event.ActionEvent) LineBorder(javax.swing.border.LineBorder) TooltipWarning(net.technicpack.ui.controls.TooltipWarning) ActionListener(java.awt.event.ActionListener)

Aggregations

ActionEvent (java.awt.event.ActionEvent)1 ActionListener (java.awt.event.ActionListener)1 LineBorder (javax.swing.border.LineBorder)1 TooltipWarning (net.technicpack.ui.controls.TooltipWarning)1 Memory (net.technicpack.utilslib.Memory)1