您的位置:首页 > 其它

Substance开源产品--做出不同的SWING界面

2011-07-28 11:07 274 查看
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Toolkit;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.table.DefaultTableModel;

import org.jvnet.substance.skin.SubstanceBusinessBlueSteelLookAndFeel;

public class test6 extends JFrame {

private JMenuBar mainBar = new JMenuBar();
private JMenu sysMenu = new JMenu("系統");
private JMenuItem exitItem = new JMenuItem("退出");
private JMenuItem loginItem = new JMenuItem("登錄");
private JMenu aboutMenu = new JMenu("關于");
private JMenuItem helpItem = new JMenuItem("幫助");

private JPopupMenu popup = new JPopupMenu();
private JMenuItem sendItem = new JMenuItem("發信息");
private JMenuItem infoItem = new JMenuItem("看賬戶");
private JMenuItem logoutItem = new JMenuItem("注銷");

private JTable table;
private JScrollPane jspLogin;
private JScrollPane jsplogTA;
private JPanel displayPanel;
private JPanel btnPanel;
private JButton dispalyBtn;
private JButton preBtn;
private JButton nextBtn;

public static DefaultTableModel defaultModel;
public static JTextArea logTA;

public test6() {
super("皮膚測試");
setMainBar();
setPanel();
initFrame(600, 450);
}

private void initFrame(int frameWidth, int frameHeight) {
setTitle("皮膚測試");
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension screenDimension = tk.getScreenSize();
int screenWidth = screenDimension.width;
int screenHeight = screenDimension.height;
setLocation((screenWidth - frameWidth) / 2,
(screenHeight - frameHeight) / 2);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(frameWidth, frameHeight);
setVisible(true);
}

private void setMainBar() {

setJMenuBar(mainBar);
mainBar.add(sysMenu);
mainBar.add(aboutMenu);
sysMenu.add(loginItem);
sysMenu.addSeparator();
sysMenu.add(exitItem);
aboutMenu.add(helpItem);
popup.add(sendItem);
popup.add(infoItem);
popup.add(logoutItem);
}

private void setPanel() {
String[][] playerInfo = new String[0][0];
String[] names = { "用戶", "登錄時間", "當前狀態" };
defaultModel = new DefaultTableModel(playerInfo, names);
logTA = new JTextArea();
logTA.setLineWrap(true);
jsplogTA = new JScrollPane(logTA);
table = new JTable(defaultModel);
jspLogin = new JScrollPane(table);
displayPanel = new JPanel();
btnPanel = new JPanel();

displayPanel.setLayout(new BorderLayout());
displayPanel.add(jsplogTA, BorderLayout.CENTER);
displayPanel.add(btnPanel, BorderLayout.SOUTH);

dispalyBtn = new JButton("顯示10條");
preBtn = new JButton("向前10條");
nextBtn = new JButton("向后10條");
btnPanel.add(dispalyBtn);
btnPanel.add(preBtn);
btnPanel.add(nextBtn);
jspLogin.setPreferredSize(new Dimension(600, 69));
add(jspLogin, BorderLayout.NORTH);
add(displayPanel, BorderLayout.CENTER);
}

public static void main(String[] args) {
JFrame.setDefaultLookAndFeelDecorated(true);
try {
UIManager.setLookAndFeel(new SubstanceBusinessBlueSteelLookAndFeel());
} catch (Exception e) {
System.out.println("Substance Raven Graphite failed to initialize");
}
SwingUtilities.invokeLater(new Runnable() {
public void run() {
test6 w = new test6();
w.setVisible(true);
}
});
}
}

最后給個下載Substance.jar的地址
http://d.download.csdn.net/down/2030000/guofangsky
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: