这个是我们用户界面设计的作业。
要求是,可以换肤,个性化,皮肤半透明。
话不多说,先上图吧。第一个界面做得精致一些,第二个,没来得及好好改。但是原理就这样了。
接下来贴代码
这个是主界面
package guoyang;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.SwingConstants;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.ImageIcon;
import javax.swing.BoxLayout;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.ListModel;
import javax.swing.border.EmptyBorder;
import javax.swing.JProgressBar;
import java.awt.Dimension;
import java.awt.SystemColor;
import java.awt.Font;
import javax.swing.JTable;
import javax.swing.JList;
import javax.swing.JTextArea;
public class Main2 {
private JFrame frame;
private JTextField textField;
private JTable table;
JPanel backImage;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Main2 window = new Main2();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*/
public Main2() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setUndecorated(true);
frame.setOpacity((float) 0.90);
FrameListener moveListener = new FrameListener(frame);
frame.addMouseListener(moveListener);
frame.addMouseMotionListener(moveListener);
frame.setBounds(100, 100, 640, 400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
backImage = new JPanel()
{
protected void paintComponent(Graphics g)
{
try
{
Image bg = ImageIO.read(new File("img//1.jpg"));
// 绘制一张图片作为背景
g.drawImage(bg , 0 , 0 , getWidth() , getHeight() , null);
}
catch (IOException ex)
{
ex.printStackTrace();
}
}
};
backImage.setLayout(new BorderLayout(0, 0));
frame.getContentPane().add(backImage);
JPanel panel_1 = new JPanel();
backImage.add(panel_1, BorderLayout.NORTH);
//panel_1.setOpaque(false);
//panel_1.setOpaque((float) 0.90);
panel_1.setBackground(Color.L