mirror of
https://github.com/magefree/mage.git
synced 2025-12-25 04:52:07 -08:00
Reworked emblems
This commit is contained in:
parent
3f1ae983c1
commit
9c8fe7268b
12 changed files with 264 additions and 18 deletions
204
Mage.Client/src/main/java/mage/TrayIconDemo.java
Normal file
204
Mage.Client/src/main/java/mage/TrayIconDemo.java
Normal file
|
|
@ -0,0 +1,204 @@
|
|||
/*
|
||||
* Copyright (c) 1995, 2008, Oracle and/or its affiliates. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* - Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* - Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* - Neither the name of Oracle or the names of its
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
|
||||
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
package mage;
|
||||
/*
|
||||
* TrayIconDemo.java
|
||||
*/
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.ItemEvent;
|
||||
import java.awt.event.ItemListener;
|
||||
import java.net.URL;
|
||||
|
||||
public class TrayIconDemo {
|
||||
public static void main(String[] args) {
|
||||
/* Use an appropriate Look and Feel */
|
||||
try {
|
||||
//UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
|
||||
//UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
|
||||
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
|
||||
} catch (UnsupportedLookAndFeelException ex) {
|
||||
ex.printStackTrace();
|
||||
} catch (IllegalAccessException ex) {
|
||||
ex.printStackTrace();
|
||||
} catch (InstantiationException ex) {
|
||||
ex.printStackTrace();
|
||||
} catch (ClassNotFoundException ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
/* Turn off metal's use of bold fonts */
|
||||
UIManager.put("swing.boldMetal", Boolean.FALSE);
|
||||
//Schedule a job for the event-dispatching thread:
|
||||
//adding TrayIcon.
|
||||
SwingUtilities.invokeLater(new Runnable() {
|
||||
public void run() {
|
||||
createAndShowGUI();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private static void createAndShowGUI() {
|
||||
//Check the SystemTray support
|
||||
if (!SystemTray.isSupported()) {
|
||||
System.out.println("SystemTray is not supported");
|
||||
return;
|
||||
}
|
||||
final PopupMenu popup = new PopupMenu();
|
||||
final TrayIcon trayIcon =
|
||||
new TrayIcon(createImage("images/bulb.gif", "tray icon"));
|
||||
final SystemTray tray = SystemTray.getSystemTray();
|
||||
|
||||
// Create a popup menu components
|
||||
MenuItem aboutItem = new MenuItem("About");
|
||||
CheckboxMenuItem cb1 = new CheckboxMenuItem("Set auto size");
|
||||
CheckboxMenuItem cb2 = new CheckboxMenuItem("Set tooltip");
|
||||
Menu displayMenu = new Menu("Display");
|
||||
MenuItem errorItem = new MenuItem("Error");
|
||||
MenuItem warningItem = new MenuItem("Warning");
|
||||
MenuItem infoItem = new MenuItem("Info");
|
||||
MenuItem noneItem = new MenuItem("None");
|
||||
MenuItem exitItem = new MenuItem("Exit");
|
||||
|
||||
//Add components to popup menu
|
||||
popup.add(aboutItem);
|
||||
popup.addSeparator();
|
||||
popup.add(cb1);
|
||||
popup.add(cb2);
|
||||
popup.addSeparator();
|
||||
popup.add(displayMenu);
|
||||
displayMenu.add(errorItem);
|
||||
displayMenu.add(warningItem);
|
||||
displayMenu.add(infoItem);
|
||||
displayMenu.add(noneItem);
|
||||
popup.add(exitItem);
|
||||
|
||||
trayIcon.setPopupMenu(popup);
|
||||
|
||||
try {
|
||||
tray.add(trayIcon);
|
||||
} catch (AWTException e) {
|
||||
System.out.println("TrayIcon could not be added.");
|
||||
return;
|
||||
}
|
||||
|
||||
trayIcon.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
JOptionPane.showMessageDialog(null,
|
||||
"This dialog box is run from System Tray");
|
||||
}
|
||||
});
|
||||
|
||||
aboutItem.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
JOptionPane.showMessageDialog(null,
|
||||
"This dialog box is run from the About menu item");
|
||||
}
|
||||
});
|
||||
|
||||
cb1.addItemListener(new ItemListener() {
|
||||
public void itemStateChanged(ItemEvent e) {
|
||||
int cb1Id = e.getStateChange();
|
||||
if (cb1Id == ItemEvent.SELECTED){
|
||||
trayIcon.setImageAutoSize(true);
|
||||
} else {
|
||||
trayIcon.setImageAutoSize(false);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
cb2.addItemListener(new ItemListener() {
|
||||
public void itemStateChanged(ItemEvent e) {
|
||||
int cb2Id = e.getStateChange();
|
||||
if (cb2Id == ItemEvent.SELECTED){
|
||||
trayIcon.setToolTip("Sun TrayIcon");
|
||||
} else {
|
||||
trayIcon.setToolTip(null);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
ActionListener listener = new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
MenuItem item = (MenuItem)e.getSource();
|
||||
//TrayIcon.MessageType type = null;
|
||||
System.out.println(item.getLabel());
|
||||
if ("Error".equals(item.getLabel())) {
|
||||
//type = TrayIcon.MessageType.ERROR;
|
||||
trayIcon.displayMessage("Sun TrayIcon Demo",
|
||||
"This is an error message", TrayIcon.MessageType.ERROR);
|
||||
|
||||
} else if ("Warning".equals(item.getLabel())) {
|
||||
//type = TrayIcon.MessageType.WARNING;
|
||||
trayIcon.displayMessage("Sun TrayIcon Demo",
|
||||
"This is a warning message", TrayIcon.MessageType.WARNING);
|
||||
|
||||
} else if ("Info".equals(item.getLabel())) {
|
||||
//type = TrayIcon.MessageType.INFO;
|
||||
trayIcon.displayMessage("Sun TrayIcon Demo",
|
||||
"This is an info message", TrayIcon.MessageType.INFO);
|
||||
|
||||
} else if ("None".equals(item.getLabel())) {
|
||||
//type = TrayIcon.MessageType.NONE;
|
||||
trayIcon.displayMessage("Sun TrayIcon Demo",
|
||||
"This is an ordinary message", TrayIcon.MessageType.NONE);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
errorItem.addActionListener(listener);
|
||||
warningItem.addActionListener(listener);
|
||||
infoItem.addActionListener(listener);
|
||||
noneItem.addActionListener(listener);
|
||||
|
||||
exitItem.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
tray.remove(trayIcon);
|
||||
System.exit(0);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//Obtain the image URL
|
||||
protected static Image createImage(String path, String description) {
|
||||
URL imageURL = TrayIconDemo.class.getResource(path);
|
||||
|
||||
if (imageURL == null) {
|
||||
System.err.println("Resource not found: " + path);
|
||||
return null;
|
||||
} else {
|
||||
return (new ImageIcon(imageURL, description)).getImage();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -397,7 +397,7 @@ public class GamePanel extends javax.swing.JPanel {
|
|||
}
|
||||
}
|
||||
|
||||
this.stack.loadCards(game.getStack(), bigCard, gameId, game.getStackOrder());
|
||||
this.stack.loadCards(game.getStack(), bigCard, gameId, null);
|
||||
GameManager.getInstance().setStackSize(game.getStack().size());
|
||||
|
||||
for (ExileView exile: game.getExile()) {
|
||||
|
|
|
|||
BIN
Mage.Client/src/main/java/mage/images/bulb.gif
Normal file
BIN
Mage.Client/src/main/java/mage/images/bulb.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 636 B |
|
|
@ -810,6 +810,9 @@ public class CardPanel extends MagePermanent implements MouseListener, MouseMoti
|
|||
} else if (card.getCardTypes().contains(CardType.PLANESWALKER)) {
|
||||
sb.append("\n").append(card.getLoyalty());
|
||||
}
|
||||
if (card.getRules() == null) {
|
||||
card.overrideRules(new ArrayList<String>());
|
||||
}
|
||||
for (String rule : card.getRules()) {
|
||||
sb.append("\n").append(rule);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue