📄 colorcal.java
字号:
/*
* @(#)ColorCal.java 1.0 02/11/09
*
*
* Author: MaxChou
* E-mail: maxchou@163.com
* HomePage: http://maxpace.caac.net/index.htm
*
*/
package ColorCal;
import java.awt.*;
import java.awt.event.*;
import java.awt.event.ActionListener;
import java.util.EventListener;
import java.awt.event.ActionEvent;
/*
* This tool is use to convert Hex to RGB each other.
* For example, I want to convert RGB to Hex, you can do it:
* after input the RGB color value in the first, second,
* third text field, click "RGB >> Hex" button or press ENTER.
* Hex convert to RGB is similar.
*
* How to run ColorCal?
* "java ColorCal.ColorCal" or
* double click "Run.bat"
*/
class ColorCal extends Frame implements ActionListener
{
Panel pTop;
Panel pCenter;
Panel pBottom;
Label lbRGB;
Label lbHex;
Label lbCopyright;
TextField txHex;
TextField txDecR;
TextField txDecG;
TextField txDecB;
Button btRgb2Hex;
Button btHex2Rgb;
public ColorCal() {
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{ dispose();
System.exit(0);
}
});
init();
}
public void init()
{
pTop = new Panel();
pCenter = new Panel();
pBottom = new Panel();
lbRGB = new Label("RGB");
lbHex = new Label("Hex");
lbCopyright = new Label("(C)2002 MaxChou. maxchou@163.com");
txDecR = new TextField("214", 1);
txDecG = new TextField("211", 1);
txDecB = new TextField("206", 1);
txHex = new TextField("D6D3CE", 4);
btRgb2Hex = new Button("RGB >> Hex");
btHex2Rgb = new Button("Hex >> RGB");
setLayout(new BorderLayout());
pTop.add(lbRGB);
pTop.add(txDecR);
pTop.add(txDecG);
pTop.add(txDecB);
pTop.add(btRgb2Hex);
pCenter.add(lbHex);
pCenter.add(txHex);
pCenter.add(btHex2Rgb);
pBottom.add(lbCopyright);
pBottom.setBackground(new Color(214, 211, 206));
add(pTop, BorderLayout.NORTH);
add(pCenter, BorderLayout.CENTER);
add(pBottom, BorderLayout.SOUTH);
// Register event listener
btRgb2Hex.setActionCommand("Rgb2Hex");
btRgb2Hex.addActionListener(this);
btHex2Rgb.setActionCommand("Hex2Rgb");
btHex2Rgb.addActionListener(this);
txDecR.addKeyListener(new KeyAdapter()
{ public void keyPressed(KeyEvent e)
{ rgbKeyPressed(e);
}});
txDecG.addKeyListener(new KeyAdapter()
{ public void keyPressed(KeyEvent e)
{ rgbKeyPressed(e);
}});
txDecB.addKeyListener(new KeyAdapter()
{ public void keyPressed(KeyEvent e)
{ rgbKeyPressed(e);
}});
txHex.addKeyListener(new KeyAdapter()
{ public void keyPressed(KeyEvent e)
{ hexKeyPressed(e);
}});
setSize(260, 125);
setLocation(0, 200);
setTitle("ColorCal - 1.01");
setResizable(false);
setBackground(new Color(214, 211, 206));
setVisible(true);
}
void rgbKeyPressed(KeyEvent e)
{
if (e.getKeyCode() == e.VK_ENTER) rgb2hex();
}
void hexKeyPressed(KeyEvent e)
{
if (e.getKeyCode() == e.VK_ENTER) hex2rgb();
}
void rgb2hex()
{
int ir, ig, ib;
String sr, sg, sb, sHex;
// Set 255 if the input is empty
if (txDecR.getText().equals(""))
txDecR.setText("214");
if (txDecG.getText().equals(""))
txDecG.setText("211");
if (txDecB.getText().equals(""))
txDecB.setText("206");
try
{
// Get the RGB value
ir = Integer.parseInt(txDecR.getText());
ig = Integer.parseInt(txDecG.getText());
ib = Integer.parseInt(txDecB.getText());
sr = Integer.toHexString(ir);
sg = Integer.toHexString(ig);
sb = Integer.toHexString(ib);
if (sr.length() < 2) sr = "0" + sr;
if (sg.length() < 2) sg = "0" + sg;
if (sb.length() < 2) sb = "0" + sb;
sHex = sr + sg + sb;
txHex.setText(sHex.toUpperCase()); // Generate the Hex value
// Show the color value changed in preview panel
pBottom.setBackground(new Color(ir, ig, ib));
lbCopyright.setBackground(new Color(ir, ig, ib));
}
catch (Exception e)
{}
}
void hex2rgb()
{
int ir, ig, ib;
String sr, sg, sb, sHex;
if (txHex.getText().length() != 6)
txHex.setText("D6D3CE");
sHex = txHex.getText();
sr = sHex.substring(0, 2);
sg = sHex.substring(2, 4);
sb = sHex.substring(4, 6);
try
{
// Convert Hex to Dec
ir = Integer.parseInt(sr, 16);
ig = Integer.parseInt(sg, 16);
ib = Integer.parseInt(sb, 16);
// Update data
txDecR.setText(Integer.toString(ir));
txDecG.setText(Integer.toString(ig));
txDecB.setText(Integer.toString(ib));
// Show the color value changed in preview panel
pBottom.setBackground(new Color(ir, ig, ib));
lbCopyright.setBackground(new Color(ir, ig, ib));
}
catch (Exception e)
{}
}
public void actionPerformed(ActionEvent e)
{
if (e.getActionCommand().equals("Rgb2Hex"))
{
rgb2hex();
}
else if (e.getActionCommand().equals("Hex2Rgb"))
{
hex2rgb();
}
}
public static void main(String args[])
{
System.out.println("Starting ColorCal...");
ColorCal mainFrame = new ColorCal();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -