锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
鍦ㄤ嬌鐢↗Table鏃訛紝鐢ㄦ埛寰寰甯屾湜鏀瑰彉瀹冪己鐪佺殑娓叉煋鏂瑰紡錛屾瘮濡備嬌鐢ㄩ棿闅旇壊鐨勮錛屽鐗瑰畾鐨勫崟鍏冩牸榪涜鐗規畩棰滆壊鏄劇ず絳夛紝榪欏涓浜涘彲瑙嗗寲緙栫▼鐜鐨勮〃鏍煎茍涓嶆槸涓浠跺鏄撶殑浜嬨?br /> 鍦↗ava Swing緙栫▼涓垜浠彲浠ヤ嬌鐢―efaultTableCellRenderer鐨勫瓙綾繪覆鏌撹〃鏍兼潵杈懼埌榪欎釜鐩殑錛屽疄鐜板拰浣跨敤瀹冮兘闈炲父瀹規槗銆?/p>
娓叉煋鏁堟灉涓錛?/p>
姝ラ涓錛氬疄鐜頒竴涓猨avax.swing.table.DefaultTableCellRenderer鐨勫瓙綾?/p>
/**
* 闂撮殧鑹茶〃鏍兼覆鏌撶被
*/
public class ColorTableCellRenderer extends DefaultTableCellRenderer {
private static final long serialVersionUID = -3378036327580475639L;
public Component getTableCellRendererComponent(
JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column) {
// 寰楀埌鍗曞厓鏍?br />
Component cell =
super.getTableCellRendererComponent(
table,
value,
isSelected,
hasFocus,
row,
column);
// 榪涜娓叉煋
if (hasFocus) {
// 濡傛灉鑾峰緱鐒︾偣鍒欒緗儗鏅壊涓虹孩鑹?br />
cell.setBackground(Color.red);
//cell.setForeground(Color.black);
} else {
if ((row % 2) == 0) {
// 鍋舵暟琛岃緗負鐧借壊
cell.setBackground(Color.white);
} else {
// 濂囨暟琛岃緗負钃濊壊
cell.setBackground(Color.cyan);
}
}
return cell;
}
}
姝ラ浜岋細灝咰olorTableCellRenderer璁劇疆涓鴻〃鏍肩殑娓叉煋鍣?/p>
try {
ColorTableCellRenderer cellRender = new ColorTableCellRenderer();
table.setDefaultRenderer(Class.forName("java.lang.Object"),
cellRender);
} catch (Exception e) {
e.printStackTrace();
}
瀹炵幇涓涓皢鐗瑰畾鍗曞厓鏍艱緗負綰㈣壊鐨勮〃鏍兼覆鏌撳櫒
濡傚彸錛屽鏋滄兂灝嗘垚鍛樺勾榫勫ぇ浜?7鐨勫崟鍏冩牸璁劇疆涓虹孩鑹層?br />
AgeTableCellRenderer鐨勪唬鐮?/p>
public class AgeTableCellRenderer extends DefaultTableCellRenderer {
private static final long serialVersionUID = -334535475639L;
public Component getTableCellRendererComponent(
JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column) {
// 寰楀埌鍗曞厓鏍?br />
Component cell =
super.getTableCellRendererComponent(
table,
value,
isSelected,
hasFocus,
row,
column);
// 鍏堟妸鎵鏈夊崟鍏冩牸璁劇疆涓虹櫧鑹?br />
cell.setBackground(Color.white);
// 榪涜娓叉煋
if (table.getColumnName(column).equals("騫撮緞") ) { // 濡傛灉鍒楀悕絳変簬“騫撮緞”
// 鍙栧緱鍗曞厓鏍肩殑鏂囧瓧
String strValue=(String)value;
if(Pattern.matches("\\d+", strValue)){
if(Integer.parseInt(strValue)>37){
// 濡傛灉鏄暟瀛椾笖鍊煎ぇ浜?7錛屽皢鍗曞厓鏍艱儗鏅緗負綰㈣壊
cell.setBackground(Color.red);
}
}
}
return cell;
}
}
鏍戝彲浠ョ敤鍥懼艦鐨勬柟寮忔樉紺轟紬澶氱殑鑺傜偣浠ュ強瀹冧滑涔嬮棿鐨勫叧緋伙紝鏈甯歌鐨勬爲鐨勪緥瀛愬氨鏄洰褰曟爲銆?br />
鎵鏈夌粍鎴愭爲鐨勫厓绱犻兘鎴愪負鑺傜偣錛圢ode錛夛紝涓媯墊爲鐨勬渶欏跺眰鐨勮妭鐐圭О涓烘牴鑺傜偣錛屽Program錛涜屾病鏈夊瓙鑺傜偣鐨勮妭鐐規垚涓哄彾瀛愯妭鐐癸紝濡俤omain銆傚湪灞傛緇撴瀯涓紝涓婂眰鐨勮妭鐐規槸涓嬪眰鑺傜偣鐨勭埗鑺傜偣錛岃屼笅灞傝妭鐐規槸涓婂眰鑺傜偣鐨勫瓙鑺傜偣錛屽鍥撅細Program鏄疌# Programs鍜孭rograms鐨勭埗鑺傜偣錛汧ileBatchRemaer20070801094605鏄疌# Programes鐨勫瓙鑺傜偣銆?br />
鏈夊叧鏍慗Tree鐨勭被鍜屾帴鍙?/strong>
JTree 鏄劇ず鏍戠殑鏍稿績鍩烘湰綾匯?br /> TreeModel 瀹氫箟浜嗘爲鐨勬暟鎹ā鍨嬫帴鍙?br /> DefaultTreeModel 榛樿鐨勬爲妯″瀷鎺ュ彛瀹炵幇綾?br /> TreeModelListener 鏍戞ā鍨嬬殑浜嬩歡鐩戝惉鍣?br /> TreePath 鏍戣礬寰勩備竴涓礬寰勫氨鏄竴涓璞℃暟緇勶紝瀵瑰簲浜庢爲妯″瀷涓粠鏍硅妭鐐瑰埌閫夊畾鑺傜偣涓婄殑鎵鏈夎妭鐐歸泦鍚堛傛暟緇勭殑絎竴涓厓绱犳槸鏍硅妭鐐癸紝鎸夋爲鐨勫眰嬈″叧緋諱緷嬈″湪鏁扮粍涓粰鍑轟腑闂磋妭鐐癸紝鏈鍚庝竴涓厓绱犳槸閫夊畾鐨勮妭鐐廣?br /> MutableTreeNode 鏍戣妭鐐規帴鍙c傚搴旀爲涓殑鑺傜偣銆傛爲鑺傜偣鎺ュ彛瀹氫箟浜嗕笌鐖跺瓙鑺傜偣鏈夊叧鐨勬柟娉曘傚洜姝わ紝鍒╃敤鏍戣妭鐐瑰彲浠ラ亶鍘嗘暣媯墊爲銆?br /> DedaultMutableTreeNode 榛樿鐨勬爲鑺傜偣鐨勫疄鐜扮被銆?br /> TreeSelectionModel 瀹氫箟浜嗗湪鏍戜笂鐨勯夋嫨鑺傜偣鐨勬暟鎹ā鍨嬫帴鍙c傛爲閫夋嫨妯″瀷鍐沖畾浜嗛夋嫨鑺傜偣鐨勭瓥鐣ヤ互鍙婅閫夋嫨鑺傜偣鐨勪俊鎭?br /> TreeSelectionModelListener 鏍戦夋嫨妯″瀷浜嬩歡鐨勭洃鍚櫒銆?/p>
浠g爜瀹炰緥錛氭瀯寤轟竴媯墊爲
DefaultMutableTreeNode root = new DefaultMutableTreeNode("Java");
DefaultMutableTreeNode j2seNode=new DefaultMutableTreeNode("J2SE(JavaSE)");
DefaultMutableTreeNode swingNode=new DefaultMutableTreeNode("Swing");
DefaultMutableTreeNode socketNode=new DefaultMutableTreeNode("Socket");
DefaultMutableTreeNode threadNode=new DefaultMutableTreeNode("Thread");
j2seNode.add(swingNode);
j2seNode.add(socketNode);
j2seNode.add(threadNode);
DefaultMutableTreeNode j2eeNode=new DefaultMutableTreeNode("J2EE(JavaEE)");
DefaultMutableTreeNode jspservletNode=new DefaultMutableTreeNode("Jsp/Servlet");
DefaultMutableTreeNode jdbcNode=new DefaultMutableTreeNode("JDBC");
DefaultMutableTreeNode javaMailNode=new DefaultMutableTreeNode("Java Mail");
j2eeNode.add(jspservletNode);
j2eeNode.add(jdbcNode);
j2eeNode.add(javaMailNode);
root.add(j2seNode);
root.add(j2eeNode);
tree = new JTree(root);
鐩稿叧璇彞瑙i噴
// 鍒涘緩涓涓爲鑺傜偣錛屾枃瀛椾負J2SE(JavaSE)
DefaultMutableTreeNode j2seNode=new DefaultMutableTreeNode("J2SE(JavaSE)");
// 鍒涘緩涓涓枃瀛椾負“Swing”鐨勮妭鐐癸紝娣誨姞鍦ㄨ妭鐐筳2seNode涓?br />
DefaultMutableTreeNode swingNode=new DefaultMutableTreeNode("Swing");
j2seNode.add(swingNode);
// 鍒涘緩涓涓枃瀛椾負Java鐨勮妭鐐逛綔涓烘牴鑺傜偣錛岀劧鍚庝互姝ゆ牴鑺傜偣鏋勫緩涓媯墊爲銆俲2seNode錛宩2eeNode鎸傚湪root 涓?br />
DefaultMutableTreeNode root = new DefaultMutableTreeNode("Java");
.......
root.add(j2seNode);
root.add(j2eeNode);
tree = new JTree(root);
娉ㄦ剰錛?JTree鍜孞TextArea錛孞Table涓鏍鳳紝涔熼渶瑕佹斁鍦ㄤ竴涓狫ScrollPane涓?/p>
緇欐爲鎺т歡娣誨姞鐩戝惉
tree.addTreeSelectionListener(new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent evt) {
// 鍙栧緱閫夋嫨鐘舵佸彉鍖栫殑鎵鏈夎礬寰?br />
TreePath[] paths = evt.getPaths();
for (int i=0; i<paths.length; i++) {
// 濡傛灉澶勪簬閫夋嫨鐘舵?br />
if (evt.isAddedPath(i)) {
// 灝嗚礬寰勮漿鍖栦負鑺傜偣鏁扮粍
Object[] nodes=paths[i].getPath();
// 寰楀埌鏈鍚庝竴涓妭鐐?鍗抽夋嫨鐨勮妭鐐?br />
DefaultMutableTreeNode node=(DefaultMutableTreeNode)nodes[nodes.length-1];
// 杈撳嚭鑺傜偣鍚?br />
System.out.println(node.toString());
}
}
}
});
棰濆鐨勪竴鐐圭編鍖栧伐浣滐細娓叉煋鑺傜偣
// 璁懼畾鍙惰妭鐐瑰浘鏍?br />
Icon leafIcon = new ImageIcon(TreePanel.class.getResource("/leaf.gif"));
// 璁懼畾鍏抽棴鐘舵佽妭鐐瑰浘鏍?br />
Icon closedIcon = new ImageIcon(TreePanel.class.getResource("/close.gif"));
// 璁懼畾鎵撳紑鐘舵佽妭鐐瑰浘鏍?br />
Icon openIcon = new ImageIcon(TreePanel.class.getResource("/open.gif"));
// 鍙栧緱鏍戠殑娓叉煋鍣?br />
DefaultTreeCellRenderer renderer = (DefaultTreeCellRenderer)tree.getCellRenderer();
renderer.setLeafIcon(leafIcon);// 璁懼畾鍙惰妭鐐瑰浘鏍?br />
renderer.setClosedIcon(closedIcon);// 璁懼畾鍏抽棴鐘舵佽妭鐐瑰浘鏍?br />
renderer.setOpenIcon(openIcon);// 璁懼畾鎵撳紑鐘舵佽妭鐐瑰浘鏍?/p>
JTabbedPane鍦⊿wing涓疄鐜伴夐」紿楁牸錛屽畠鍙互鎶婂涓粍浠舵斁鍦ㄥ涓夐」鍗′腑錛屼粠鑰屼嬌欏甸潰涓嶈嚧鎷ユ尋錛屽叾閫夐」鍗$殑褰㈠紡涔熻兘涓虹▼搴忓鑹蹭笉灝戙?br /> 閫夐」紿楁牸鍜屽垎闅旂獥鏍肩被浼鹼紝鍒涘緩鍑烘潵闇瑕佹坊鍔犲埌璁劇疆濂藉竷灞鐨勯潰鏉夸腑錛岄氬父鎴戜滑鍙互璁劇疆甯冨眬涓?*1鐨勭綉鏍煎竷灞鎴栨槸杈圭晫甯冨眬銆?br /> 閫夐」紿楁牸鍐呴儴鍙互鏀劇疆澶氫釜閫夐」欏碉紝姣忎釜閫夐」欏甸兘鍙互瀹圭撼涓涓狫Panel浣滀負瀛愮粍浠訛紝鎴戜滑鍙璁捐濂介渶瑕佹坊鍔犲埌閫夐」欏電殑闈㈡澘鍗沖彲銆?/p>
JTabbedPane鏁堟灉
鍒涘緩JTabbedPane
// 鍒涘緩閫夐」紿楁牸
JTabbedPane tabPane = new JTabbedPane();
// 璁劇疆闈㈡澘甯冨眬涓虹綉鏍煎竷灞
this.setLayout(new GridLayout(1,1));
tabPane.setTabPlacement(JTabbedPane.TOP);// 璁懼畾閫夐」鍗℃斁鍦ㄤ笂閮?br />
this.add(tabPane);// 灝嗛夐」紿楁牸鏀劇疆鍦ㄩ潰鏉夸腑
// 鍒涘緩涓涓猄tockPanel闈㈡澘騫舵坊鍔犲埌閫夐」紿楁牸,榪欐槸鎸囧畾鍥炬爣鐨勬柟娉?br />
StockPanel stockPanel=new StockPanel();
tabPane.addTab("搴撳瓨欏甸潰", new ImageIcon(TabbedPanel.class
.getResource("/stock.gif")), stockPanel);
ImportPanel importPanel=new ImportPanel();
tabPane.addTab("榪涜揣欏甸潰", new ImageIcon(TabbedPanel.class
.getResource("/import.gif")), importPanel);
// 鍒涘緩涓涓猄aledPanel闈㈡澘騫舵坊鍔犲埌閫夐」紿楁牸,榪欐槸涓嶆寚瀹氬浘鏍囩殑鏂規硶
SaledPanel saledPanel=new SaledPanel();
tabPane.addTab("宸插敭欏甸潰", saledPanel);
// 閫夋嫨絎竴涓夐」欏典負褰撳墠閫夋嫨鐨勯夐」欏?br />
tabPane.setSelectedIndex(0);
鍒涘緩鍒嗛殧紿楁牸紺轟緥
// 鍒涘緩鍒嗛殧紿楀彛,絎竴涓弬鏁版寚瀹氫簡鍒嗛殧鐨勬柟鍚?JSplitPane.HORIZONTAL_SPLIT琛ㄧず姘村鉤鍒嗛殧,鍙﹀涓涓夐」鏄疛SplitPane.VERTICAL_SPLIT,琛ㄧず鍨傜洿鍒嗛殧;鍙﹀涓や釜鍙傛暟鏄斁緗湪璇ュ垎闅旂獥鏍肩殑緇勪歡.
JSplitPane splitPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, tablePanel, textPanel);
// 璁劇疆鍒嗛殧鍣ㄧ殑浣嶇疆,鍙互鐢ㄦ暣鏁?鍍忕礌)鎴栫櫨鍒嗘瘮鏉ユ寚瀹?
splitPanel.setDividerLocation(200);
// 璁劇疆鍒嗛殧鍣ㄦ槸鍚︽樉紺虹敤鏉ュ睍寮/鎶樺彔鍒嗛殧鍣ㄧ殑鎺т歡
splitPanel.setOneTouchExpandable(true);
// 璁劇疆鍒嗛殧鍣ㄧ殑澶у皬,鍗曚綅涓哄儚绱?br /> splitPanel.setDividerSize(5);
// 灝嗗垎闅旂獥鍙f坊鍔犲埌瀹瑰櫒涓?br />
setLayout(new BorderLayout());
add(splitPanel, BorderLayout.CENTER);
鍦⊿wing涓?浜嬩歡鍝嶅簲鏄氳繃鐩戝惉鍣ㄥ璞℃潵澶勭悊浜嬩歡鐨勬柟寮忓疄琛岀殑,榪欑鏂瑰紡琚О涓轟簨浠跺鎵樻ā鍨?
浠Button涓句緥,瀹冨唴閮ㄦ湁涓涓悕涓簂istenerList鐨勯摼琛?鍦ㄧ偣鍑繪寜閽椂,浼氫駭鐢熶竴涓狝ctionEvent浜嬩歡,姝ゅ悗鍐呴儴浼氫緷嬈¤皟鐢ㄤ綅浜巐istenerList涓殑姣忎竴涓猘ctionListener瀛愮被瀹炰緥鐨刟ctionPerformed鏂規硶,榪欏氨鏄簨浠跺搷搴旂殑榪囩▼.
褰撹皟鐢↗Button鐨刟ddActionListener鏂規硶鏃? 澶栫晫actionListener瀛愮被瀹炰緥鐨勬寚閽堝氨琚斁鍏ヤ簡listenerList涓?褰撴寜閽偣鍑諱簨浠朵駭鐢熸椂,榪欎釜瀹炰緥鐨刟ctionPerformed鏂規硶灝變細琚皟鐢?浠庤屾寜閽殑鐐瑰嚮浜嬩歡澶勭悊灝辮濮旀墭鍒頒簡actionListener瀛愮被瀹炰緥涓繘琛屽鐞?
瀹炵幇ActionListener鐨勪笁縐嶆柟寮?/strong>
1.瀹炵幇涓涓狝ctionListener瀛愮被,鍐嶆妸鎸夐挳鐨勪簨浠跺搷搴斿鎵樼粰榪欎釜瀛愮被鐨勫疄渚嬪鐞?榪欑鏂瑰紡騫朵笉甯哥敤,鎴戝湪榪欓噷鍒楀嚭鏄負浜嗘暀瀛?
2.璁╃晫闈㈢被瀹炵幇ActionListener鎺ュ彛,鍐嶆妸浜嬩歡鍝嶅簲濮旀墭緇欑晫闈㈢被.榪欑鏂瑰紡閫傚悎浜庡鐞嗕竴浜涚煭灝忕畝鍗曟垨瑕佹眰鍐呰仛鐨勪簨浠跺搷搴?
3.鐢ㄥ尶鍚嶇被瀹炵幇ActionListener鎺ュ彛,鍐嶆妸浜嬩歡濮旀墭緇欒繖涓尶鍚嶇被鐨勫疄渚?榪欑鏂瑰紡鏄疭wing浜嬩歡澶勭悊鐨勪富嫻?
鏂瑰紡涓:瀹炵幇涓涓狝ctionListener瀛愮被
// 瀹炵幇浜咥ctionListener鎺ュ彛鐨勭被
public class Button3ActionListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
String buttonText=((JButton)e.getSource()).getText();
System.out.println("浣犳寜涓嬩簡" + buttonText);
}
}
// 緇欐寜閽笁娣誨姞浜嬩歡澶勭悊
button3.addActionListener(new Button3ActionListener());
鏂瑰紡浜?璁╃晫闈㈢被瀹炵幇ActionListener鎺ュ彛
public class MyFrame extends JFrame implements ActionListener{
public MyFrame() {
....
button2.addActionListener(this);
}
/**
* 鎸夐挳浜岀殑浜嬩歡鍝嶅簲鍦ㄦ
*/
public void actionPerformed(ActionEvent e) {
if(e.getSource()==button2){
showMsg("浣犳寜涓嬩簡" + button2.getText());
}
}
}
鏂瑰紡涓?鐢ㄥ尶鍚嶇被鐨勬柟寮忔坊鍔犱簨浠跺搷搴?/strong>
button1 = new JButton("鎸夐挳涓");
button1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
showMsg("浣犳寜涓嬩簡" + button1.getText());
}
});
鍙寵竟鏄劇ず浜?strong>鍒涘緩紿楀彛鐨勪唬鐮?/strong>鍜孞Frame鐨勫嚑涓父鐢ㄥ嚱鏁?
public class MyFrame extends JFrame {
private static final long serialVersionUID = 1379963724699883220L;
/**
* 鏋勯犲嚱鏁?br />
*
*/
public MyFrame() {
// 璁劇疆紿楀彛鏍囬
this.setTitle("紼嬪簭鏍囬");
// 瀹氫綅紿楀彛
this.setLocation(20, 20);
// 璁劇疆紿楀彛澶у皬
this.setSize(480, 320);
// 鏄劇ず紿楀彛
setVisible(true);
}
public static void main(String[] args){
new MyFrame();
}
}
灝嗙獥鍙e畾浣嶅湪灞忓箷姝d腑
浣跨敤Toolkit.getDefaultToolkit().getScreenSize()鏂規硶鍙互鍙栧緱灞忓箷鐨勫ぇ灝?鍐嶈皟鐢╯etLocation鍑芥暟鍙互灝嗙▼搴忓畾浣嶅湪灞忓箷姝d腑.
public class MyFrame extends JFrame {
private static final long serialVersionUID = 1379963724699883220L;
/**
* 鏋勯犲嚱鏁?br />
*
*/
public MyFrame() {
// 璁劇疆紿楀彛鏍囬
this.setTitle("紼嬪簭鏍囬");
// 璁劇疆紼嬪簭澶у皬騫跺畾浣嶇▼搴忓湪灞忓箷姝d腑
setSizeAndCentralizeMe(480, 320);
// 鏄劇ず紿楀彛
setVisible(true);
}
// 璁劇疆紼嬪簭澶у皬騫跺畾浣嶇▼搴忓湪灞忓箷姝d腑
private void setSizeAndCentralizeMe(int width, int height) {
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
this.setSize(width, height);
this.setLocation(screenSize.width / 2 - width / 2, screenSize.height
/ 2 - height / 2);
}
public static void main(String[] args){
new MyFrame();
}
}
鐐瑰嚮紿楀彛鍙充笂瑙掔殑鍏抽棴鎸夐挳鍏抽棴紿楀彛,閫鍑虹▼搴?/strong>
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)鍙互杈懼埌姝ゅ姛鑳?鍚﹀垯鎸夊叧闂寜閽獥鍙e叧闂絾涓嶉鍑虹▼搴?
public class MyFrame extends JFrame {
private static final long serialVersionUID = 1379963724699883220L;
/**
* 鏋勯犲嚱鏁?br />
*
*/
public MyFrame() {
// 璁劇疆紿楀彛鏍囬
this.setTitle("紼嬪簭鏍囬");
// 璁劇疆紼嬪簭澶у皬騫跺畾浣嶇▼搴忓湪灞忓箷姝d腑
setSizeAndCentralizeMe(480, 320);
// 鏄劇ず紿楀彛
setVisible(true);
// 鐐瑰嚮紿楀彛鍙充笂瑙掔殑鍏抽棴鎸夐挳鍏抽棴紿楀彛,閫鍑虹▼搴?br />
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
// 璁劇疆紼嬪簭澶у皬騫跺畾浣嶇▼搴忓湪灞忓箷姝d腑
private void setSizeAndCentralizeMe(int width, int height) {
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
this.setSize(width, height);
this.setLocation(screenSize.width / 2 - width / 2, screenSize.height
/ 2 - height / 2);
}
public static void main(String[] args){
new MyFrame();
}
}
娣誨姞紿楀彛鍏抽棴浜嬩歡澶勭悊
// 鐐瑰嚮紿楀彛鍙充笂瑙掔殑鍏抽棴鎸夐挳鍏抽棴紿楀彛,閫鍑虹▼搴?br />
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.out.println("紼嬪簭閫鍑?");
System.exit(0);
}
});
涓婇潰鐨勪唬鐮佸疄鐜頒簡涓涓猈indowAdapter鐨勫尶鍚嶇被,騫跺皢瀹冩敞鍐屼負紿楀彛浜嬩歡鐨勭洃鍚櫒.
public class MyFrame extends JFrame {
private static final long serialVersionUID = 1379963724699883220L;
/**
* 鏋勯犲嚱鏁?br />
*
*/
public MyFrame() {
// 璁劇疆紿楀彛鏍囬
this.setTitle("紼嬪簭鏍囬");
// 璁劇疆紼嬪簭澶у皬騫跺畾浣嶇▼搴忓湪灞忓箷姝d腑
setSizeAndCentralizeMe(480, 320);
// 鏄劇ず紿楀彛
setVisible(true);
// 鐐瑰嚮紿楀彛鍙充笂瑙掔殑鍏抽棴鎸夐挳鍏抽棴紿楀彛,閫鍑虹▼搴?br />
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.out.println("紼嬪簭閫鍑?");
System.exit(0);
}
});
}
// 璁劇疆紼嬪簭澶у皬騫跺畾浣嶇▼搴忓湪灞忓箷姝d腑
private void setSizeAndCentralizeMe(int width, int height) {
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
this.setSize(width, height);
this.setLocation(screenSize.width / 2 - width / 2, screenSize.height
/ 2 - height / 2);
}
public static void main(String[] args) {
new MyFrame();
}
}
璁劇疆紼嬪簭鎰熻
UIManager.getInstalledLookAndFeels()鍙緱鍒板彲鐢ㄧ殑鎰熻鏁扮粍,鐒跺悗鍙栨暟緇勪腑鍏冪礌鐨刧etClassName()鏂規硶鍙緱鍒版劅瑙傜被鍚?鍐嶈皟鐢?br />
UIManager.setLookAndFeel(strLookFeel); SwingUtilities.updateComponentTreeUI(this);
鏂規硶鍙緗獥鍙f劅瑙?
public class MyFrame extends JFrame {
/**
* 鏋勯犲嚱鏁?br />
*
*/
public MyFrame() {
// 璁劇疆紿楀彛鏍囬
this.setTitle("紼嬪簭鏍囬");
// 璁劇疆紼嬪簭澶у皬騫跺畾浣嶇▼搴忓湪灞忓箷姝d腑
setSizeAndCentralizeMe(480, 320);
// 鏄劇ず紿楀彛
setVisible(true);
// 璁劇疆紼嬪簭鎰熻
setupLookAndFeel();
....;
}
...
// 璁劇疆紼嬪簭鎰熻
private void setupLookAndFeel() {
// 鍙栧緱緋葷粺褰撳墠鍙敤鎰熻鏁扮粍
UIManager.LookAndFeelInfo[] arr = UIManager.getInstalledLookAndFeels();
Random random = new Random();
String strLookFeel=arr[random.nextInt(arr.length)].getClassName();
try {
UIManager.setLookAndFeel(strLookFeel);
SwingUtilities.updateComponentTreeUI(this);
} catch (Exception e) {
System.out.println("Can't Set Lookandfeel Style to " + strLookFeel);
}
}
....
}
璁劇疆紼嬪簭鎰熻涓鴻法騫沖彴鐨勬劅瑙?/strong>
UIManager.getCrossPlatformLookAndFeelClassName()鍙緱鍒拌法騫沖彴鐨勬劅瑙?
public class MyFrame extends JFrame {
public MyFrame() {
// 璁劇疆紿楀彛鏍囬
this.setTitle("紼嬪簭鏍囬");
// 璁劇疆紼嬪簭澶у皬騫跺畾浣嶇▼搴忓湪灞忓箷姝d腑
setSizeAndCentralizeMe(480, 320);
// 鏄劇ず紿楀彛
setVisible(true);
// 璁劇疆紼嬪簭鎰熻
setupLookAndFeel();
}
// 璁劇疆紼嬪簭鎰熻
private void setupLookAndFeel() {
String strLookFeel = UIManager.getCrossPlatformLookAndFeelClassName();
try {
UIManager.setLookAndFeel(strLookFeel);
} catch (Exception e) {
System.out.println("Can't Set Lookandfeel Style to " + strLookFeel);
}
}
}
JPanel綾誨父鐢ㄦ潵浣滀負涓鎵圭粍浠跺JButton,JTextBox絳夌殑瀹瑰櫒,涓鑸潵璇村瀹冪殑甯歌鎿嶄綔鏈夎緗叾杈規,璁劇疆鍏跺竷灞絳?
璁劇疆杈規浠g爜:
setBorder(BorderFactory.createTitledBorder(title));
璁劇疆甯冨眬浠g爜紺轟緥:
setLayout(new GridLayout(4, 1));
add(nameInputPanel);
add(ageInputPanel);
add(titleInputPanel);
add(ButtonsPanel);
鎸夐挳綾籎Button
褰撴垜浠渶瑕佸悜鐣岄潰娣誨姞鎸夐挳鏃墮渶瑕佺敤鍒癑Button綾?浠ヤ笅鏄畠鐨勪竴浜涘父鐢ㄦ柟娉?/p>
1.鍒涘緩Button綾誨疄渚?br /> JButton csvButton=new JButton("csv涓嬭澆");
2.璁劇疆鎸夐挳鐨勬渶澶у昂瀵?鏈灝忓昂瀵?棣栭夊昂瀵?
Dimension dimension = new Dimension(80, 20);
csvButton.setMaximumSize(dimension);
csvButton.setMinimumSize(dimension);
csvButton.setPreferredSize(dimension);
鍗曢夋JRadioButton
鎴戜滑闇瑕佸崟閫夋寜閽椂闇瑕佺敤鍒癑RadioButton,瀹冪殑甯哥敤鏂規硶濡備笅:
1.鍒涘緩
JRadioButton xmlRadio=new JRadioButton("Xml",true);
JRadioButton db4oRadio=new JRadioButton("Db4o",false);
2.鍒嗙粍
ButtonGroup group = new ButtonGroup();
group.add(xmlRadio);
group.add(db4oRadio);
group.add(sqlRadio);
group.add(hibenateRadio);
3.鍙栧緱鍗曚釜JRadioButton鏄惁琚夋嫨
boolean isSelected=db4oRadio.isSelected()
4.鍙栧緱涓緇凧RadioButton涓閫夋嫨鐨勫崟鍏冪殑鏂囧瓧
for (Enumeration e=group.getElements(); e.hasMoreElements(); ) {
JRadioButton b = (JRadioButton)e.nextElement();
if (b.getModel() == group.getSelection()) {
return b.getText();
}
}
鏍囩緇勪歡JLabel
JLabel鏄爣絳炬帶浠?涔熸槸Swing緇勪歡涓渶綆鍗曞父鐢ㄧ殑涓涓?
鍒涘緩JLabel:
JLabel label=new JLabel(“ABC");
淇敼鏍囩鏂囧瓧
label.setText("DEF");
鍗曡鏂囨湰妗咼TextField
闇瑕佽緭鍏ュ崟琛屾枃瀛楁椂鎴戜滑鍙互鐢ㄥ埌JTextField,瀹冪殑浣跨敤涔熷緢綆鍗?
鍒涘緩:
JTextField textBox=new JTextField();
璁劇疆鏂囨湰妗嗘枃瀛?
textBox.setText("ABC");
鍙栧緱鏂囨湰妗嗘枃瀛?
String text=textBox.getText();
澶嶅悎妗咼ComboBox
JComboBox鏄棦鑳芥彁渚涜緭鍏ュ張鑳芥彁渚涢夋嫨涓欏圭殑閫夋嫨鎺т歡.
1) 鍒涘緩JComboBox
String[] items = {"item1", "item2"};
JComboBox editableCB = new JComboBox(items); editableCB.setEditable(true);
琛ㄦ牸鎺т歡JTable
琛ㄦ牸鎺т歡鏄浉瀵瑰鏉傜殑Swing鎺т歡涔嬩竴,浣跨敤涔熺浉瀵瑰鏉?
1) 鍒涘緩琛ㄦ牸鎺т歡
JTable table = new JTable();
2) 璁劇疆琛ㄦ牸琛岄珮
table.setRowHeight(20);
3) 璁劇疆琛ㄦ牸鐨勮鏁板拰鍒楁暟
DefaultTableModel tableModel = (DefaultTableModel) table
.getModel();
tableModel.setColumnCount(0);
tableModel.setRowCount(0);
4) 緇欒〃鏍兼坊鍔犺〃澶?br /> String[] headers = {"濮撳悕","騫撮緞", "鑱屽姟"};
for (int i = 0; i < headers.length; i++) {
tableModel.addColumn(headers[i]);
}
5) 鍚戣〃鏍兼坊鍔犲唴瀹?br />
public void fillTable(List<Member> members){
DefaultTableModel tableModel = (DefaultTableModel) table
.getModel();
tableModel.setRowCount(0);
for(Member member:members){
String[] arr=new String[5];
arr[0]=member.getName();
arr[1]=member.getAge();
arr[2]=member.getTitle();
tableModel.addRow(arr);
}
table.invalidate();
}
6) 鍙栧緱琛ㄦ牸鍐呯殑鍐呭
public List<Member> getShowMembers(){
List<Member> members=new ArrayList<Member>();
DefaultTableModel tableModel = (DefaultTableModel) table
.getModel();
int rowCount=tableModel.getRowCount();
for(int i=0;i<rowCount;i++){
Member member=new Member();
member.setName((String)tableModel.getValueAt(i, 0));
member.setAge((String)tableModel.getValueAt(i, 1));
member.setTitle((String)tableModel.getValueAt(i, 2));
members.add(member);
}
return members;
}