W
/*
* ColorPalette.java
*
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class ColorPalette extends JDialog implements ActionListener {
private JPanel palette;
private int[] colorValues;
private Color[] colorList;
private Color color;
public ColorPalette(final Frame parent, final boolean modal) {
super(parent, modal);
setUndecorated(true);
palette = new JPanel();
palette.setLayout(new GridLayout(9, 31, 1, 1));
palette.setPreferredSize(new Dimension(357, 100));
initColors();// w h
int i = 0;
for (; i < colorList.length; i++) {
addButton(colorList[i]);
}
getContentPane().add(palette, BorderLayout.CENTER);
pack();
}
private JButton addButton(final Color color) {
JButton button = new JButton();
button.setRolloverEnabled(false);
button.setBackground(color);
palette.add(button);
button.addActionListener(this);
String text = "" + color.getRed() + ", " + color.getGreen() + ", " + color.getBlue();
button.setToolTipText(text);
return (button);
}
public void actionPerformed(final ActionEvent e) {
JButton button = (JButton) e.getSource();
color = button.getBackground();
setVisible(false);
}
public Color getColor() {
return color;
}
private void initColors() {
initColorValues();
int numColors = colorValues.length / 3;
colorList = new Color[numColors];
for (int i = 0; i < numColors; i++) {
colorList[i] = new Color(colorValues[(i * 3)], colorValues[(i * 3) + 1], colorValues[(i * 3) + 2]);
}
}
private void initColorValues() {
colorValues = new int[]{
255, 255, 255, // row 1
204, 255, 255,
204, 204, 255,
204, 204, 255,
204, 204, 255,
204, 204, 255,
204, 204, 255,
204, 204, 255,
204, 204, 255,
204, 204, 255,
204, 204, 255,
255, 204, 255,
255, 204, 204,
255, 204, 204,
255, 204, 204,
255, 204, 204,
255, 204, 204,
255, 204, 204,
255, 204, 204,
255, 204, 204,
255, 204, 204,
255, 255, 204,
204, 255, 204,
204, 255, 204,
204, 255, 204,
204, 255, 204,
204, 255, 204,
204, 255, 204,
204, 255, 204,
204, 255, 204,
204, 255, 204,
204, 204, 204, // row 2
153, 255, 255,
153, 204, 255,
153, 153, 255,
153, 153, 255,
153, 153, 255,
153, 153, 255,
153, 153, 255,
153, 153, 255,
153, 153, 255,
204, 153, 255,
255, 153, 255,
255, 153, 204,
255, 153, 153,
255, 153, 153,
255, 153, 153,
255, 153, 153,
255, 153, 153,
255, 153, 153,
255, 153, 153,
255, 204, 153,
255, 255, 153,
204, 255, 153,
153, 255, 153,
153, 255, 153,
153, 255, 153,
153, 255, 153,
153, 255, 153,
153, 255, 153,
153, 255, 153,
153, 255, 204,
204, 204, 204, // row 3
102, 255, 255,
102, 204, 255,
102, 153, 255,
102, 102, 255,
102, 102, 255,
102, 102, 255,
102, 102, 255,
102, 102, 255,
153, 102, 255,
204, 102, 255,
255, 102, 255,
255, 102, 204,
255, 102, 153,
255, 102, 102,
255, 102, 102,
255, 102, 102,
255, 102, 102,
255, 102, 102,
255, 153, 102,
255, 204, 102,
255, 255, 102,
204, 255, 102,
153, 255, 102,
102, 255, 102,
102, 255, 102,
102, 255, 102,
102, 255, 102,
102, 255, 102,
102, 255, 153,
102, 255, 204,
153, 153, 153, // row 4
51, 255, 255,
51, 204, 255,
51, 153, 255,
51, 102, 255,
51, 51, 255,
51, 51, 255,
51, 51, 255,
102, 51, 255,
153, 51, 255,
204, 51, 255,
255, 51, 255,
255, 51, 204,
255, 51, 153,
255, 51, 102,
255, 51, 51,
255, 51, 51,
255, 51, 51,
255, 102, 51,
255, 153, 51,
255, 204, 51,
255, 255, 51,
204, 255, 51,
153, 244, 51,
102, 255, 51,
51, 255, 51,
51, 255, 51,
51, 255, 51,
51, 255, 102,
51, 255, 153,
51, 255, 204,
153, 153, 153, // row 5
0, 255, 255,
0, 204, 255,
0, 153, 255,
0, 102, 255,
0, 51, 255,
0, 0, 255,
51, 0, 255,
102, 0, 255,
153, 0, 255,
204, 0, 255,
255, 0, 255,
255, 0, 204,
255, 0, 153,
255, 0, 102,
255, 0, 51,
255, 0, 0,
255, 51, 0,
255, 102, 0,
255, 153, 0,
255, 204, 0,
255, 255, 0,
204, 255, 0,
153, 255, 0,
102, 255, 0,
51, 255, 0,
0, 255, 0,
0, 255, 51,
0, 255, 102,
0, 255, 153,
0, 255, 204,
102, 102, 102, // row 6
0, 204, 204,
0, 204, 204,
0, 153, 204,
0, 102, 204,
0, 51, 204,
0, 0, 204,
51, 0, 204,
102, 0, 204,
153, 0, 204,
204, 0, 204,
204, 0, 204,
204, 0, 204,
204, 0, 153,
204, 0, 102,
204, 0, 51,
204, 0, 0,
204, 51, 0,
204, 102, 0,
204, 153, 0,
204, 204, 0,
204, 204, 0,
204, 204, 0,
153, 204, 0,
102, 204, 0,
51, 204, 0,
0, 204, 0,
0, 204, 51,
0, 204, 102,
0, 204, 153,
0, 204, 204,
102, 102, 102, // row 7
0, 153, 153,
0, 153, 153,
0, 153, 153,
0, 102, 153,
0, 51, 153,
0, 0, 153,
51, 0, 153,
102, 0, 153,
153, 0, 153,
153, 0, 153,
153, 0, 153,
153, 0, 153,
153, 0, 153,
153, 0, 102,
153, 0, 51,
153, 0, 0,
153, 51, 0,
153, 102, 0,
153, 153, 0,
153, 153, 0,
153, 153, 0,
153, 153, 0,
153, 153, 0,
102, 153, 0,
51, 153, 0,
0, 153, 0,
0, 153, 51,
0, 153, 102,
0, 153, 153,
0, 153, 153,
51, 51, 51, // row 8
0, 102, 102,
0, 102, 102,
0, 102, 102,
0, 102, 102,
0, 51, 102,
0, 0, 102,
51, 0, 102,
102, 0, 102,
102, 0, 102,
102, 0, 102,
102, 0, 102,
102, 0, 102,
102, 0, 102,
102, 0, 102,
102, 0, 51,
102, 0, 0,
102, 51, 0,
102, 102, 0,
102, 102, 0,
102, 102, 0,
102, 102, 0,
102, 102, 0,
102, 102, 0,
102, 102, 0,
51, 102, 0,
0, 102, 0,
0, 102, 51,
0, 102, 102,
0, 102, 102,
0, 102, 102,
0, 0, 0, // row 9
0, 51, 51,
0, 51, 51,
0, 51, 51,
0, 51, 51,
0, 51, 51,
0, 0, 51,
51, 0, 51,
51, 0, 51,
51, 0, 51,
51, 0, 51,
51, 0, 51,
51, 0, 51,
51, 0, 51,
51, 0, 51,
51, 0, 51,
51, 0, 0,
51, 51, 0,
51, 51, 0,
51, 51, 0,
51, 51, 0,
51, 51, 0,
51, 51, 0,
51, 51, 0,
51, 51, 0,
0, 51, 0,
0, 51, 51,
0, 51, 51,
0, 51, 51,
0, 51, 51,
51, 51, 51
};
}
}
private JButton addButton(final Color color) {
JButton button = new JButton();
button.setRolloverEnabled(false);
button.setBackground(color);
Tobias hat gesagt.:Hast du schon versucht, deine Buttons undurchsichtig zu machen? Macht man mit setOpaque(true);
mpG
Tobias
private JButton addButton(final Color color) {
JButton button = new JButton();
button.setRolloverEnabled(false);
button.setOpaque(true);
button.setBackground(color);
palette.add(button);
button.addActionListener(this);
String text = "" + color.getRed() + ", " + color.getGreen() + ", " + color.getBlue();
button.setToolTipText(text);
return (button);
}
Wenn schlecht implementiert, kann das sehr wohl passieren. Und da ich im Zusammenhang mit Substance eigentlich immer nur von Problemen lese, solltest du es vielleicht nicht verwenden.Wölfle hat gesagt.:so LooknFeel deaktiviert und es geht... das kanns doch net sein oder dass die LooknFeels mich beschränken ???
Wildcard hat gesagt.:Wenn schlecht implementiert, kann das sehr wohl passieren. Und da ich im Zusammenhang mit Substance eigentlich immer nur von Problemen lese, solltest du es vielleicht nicht verwenden.Wölfle hat gesagt.:so LooknFeel deaktiviert und es geht... das kanns doch net sein oder dass die LooknFeels mich beschränken ???
Wildcard hat gesagt.:System Look and Feel
Swing ist Swing. Swing verwendet Look and Feels. Das Cross Platform Look and Feel ist ein L'n'F das mit der JRE ausgeliefert wird. Das System Look and Feel ein (bzw. mehrere) anderes integriertes. Auf meinem Desktop will ich auch gar keine anderen Look and Feels sehen als das System L'n'F.Wölfle hat gesagt.:Swing ist ja cross plattform look...
Wildcard hat gesagt.:Swing ist Swing. Swing verwendet Look and Feels. Das Cross Platform Look and Feel ist ein L'n'F das mit der JRE ausgeliefert wird. Das System Look and Feel ein (bzw. mehrere) anderes integriertes. Auf meinem Desktop will ich auch gar keine anderen Look and Feels sehen als das System L'n'F.Wölfle hat gesagt.:Swing ist ja cross plattform look...
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
Wildcard hat gesagt.:Verstehst du eigentlich was ich sage? Swing und Look and Feels sind zwei verschiedene Dinge.
Nimbus ist mit nichten ein Swing Nachfolger, sondern ein eben solches Look and Feel für Swing.
Die System Look and Feels sind IMO ganz hervorragend, ich bin lediglich gegen Cross Platform Look and Feels weil sie sich nicht sauber in das System integrieren.
Und die Sache ist gegessen.Code:UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());