代碼太多,丟個(gè)核心即可;
十年的思禮網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都營(yíng)銷網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整思禮建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“思禮網(wǎng)站設(shè)計(jì)”,“思禮網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
JMenuBar?mb=new?JMenuBar();
mb.getComponent().setBackground(Color.RED);//設(shè)置背景顏色的核心代碼!
你好!
首先,你說(shuō)的Java窗口是指JFrame或者Frame
其次,你說(shuō)的窗口背景顏色是指直接調(diào)用JFrame或者Frame的setBackground(Color?color)方法設(shè)置后顯示出來(lái)的顏色。其實(shí),你的想法是正確的,但是我想提醒你的是,你沒(méi)搞明白JFrame的顯示機(jī)制。在你直接調(diào)用這個(gè)方法后,你的確設(shè)置了背景顏色,而你看到的卻不是直接的JFrame或者Frame,而是JFrame.getContentPane().而JFrame上的contentPane默認(rèn)是Color.WHITE的,所以,無(wú)論你對(duì)JFrame或者Frame怎么設(shè)置背景顏色,你看到的都只是contentPane.
最后,講解決辦法:
辦法A:在完成初始化,調(diào)用getContentPane()方法得到一個(gè)contentPane容器,然后將其設(shè)置為不可見,即setVisible(false)。這樣,你就可以看到JFrame的廬山真面貌啦!
核心代碼this.getContentPane().setVisible(false);//得到contentPane容器,設(shè)置為不可見
實(shí)例完整代碼如下:
/*
*?TestJFrameBGColor.java
*
*?Created?on?2011-5-8,?0:21:20
*/
package?testjframebgcolor;
import?java.awt.Color;
/**
*
*?@author?葉科良
*/
public?class?TestJFrameBGColor?extends?javax.swing.JFrame?{
/**?Creates?new?form?TestJFrameBGColor?*/
public?TestJFrameBGColor()?{
initComponents();
this.getContentPane().setVisible(false);//得到contentPane容器,設(shè)置為不可見
}
/**?This?method?is?called?from?within?the?constructor?to
*?initialize?the?form.
*?WARNING:?Do?NOT?modify?this?code.?The?content?of?this?method?is
*?always?regenerated?by?the?Form?Editor.
*/
@SuppressWarnings("unchecked")
//?editor-fold?defaultstate="collapsed"?desc="Generated?Code"
private?void?initComponents()?{
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
org.jdesktop.application.ResourceMap?resourceMap?=?org.jdesktop.application.Application.getInstance(testjframebgcolor.TestJFrameBGColorApp.class).getContext().getResourceMap(TestJFrameBGColor.class);
setBackground(resourceMap.getColor("Form.background"));?//?NOI18N
setName("Form");?//?NOI18N
javax.swing.GroupLayout?layout?=?new?javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0,?400,?Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0,?300,?Short.MAX_VALUE)
);
pack();
}//?/editor-fold
/**
*?@param?args?the?command?line?arguments
*/
public?static?void?main(String?args[])?{
java.awt.EventQueue.invokeLater(new?Runnable()?{
public?void?run()?{
new?TestJFrameBGColor().setVisible(true);
}
});
}
//?Variables?declaration?-?do?not?modify
//?End?of?variables?declaration
}
方法B:將contentPane的顏色設(shè)置為你想要的顏色,而不是對(duì)JFrame本身設(shè)置,
核心代碼:this.getContentPane().setBackground(Color.red);//設(shè)置contentPane為紅色
將核心代碼替換方法A核心代碼即可實(shí)現(xiàn)
方法C:為JFrame添加一個(gè)Panel或者JLabel等其他組件,設(shè)置其顏色為你想要的顏色,然后將其覆蓋JFrame窗口即可
代碼如下:
import?java.awt.Color;
import?java.awt.Dimension;
import?java.awt.FlowLayout;
import?java.util.HashMap;
import?java.util.Map;
import?javax.swing.JComboBox;
import?javax.swing.JFrame;
import?javax.swing.JTextField;
public?class?App?extends?JFrame?{
private?JComboBoxString?cbxColors;
private?JTextField?txtName;
private?MapString,?Color?colorMap;
public?App()?{
this.setSize(300,?100);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(new?FlowLayout());
colorMap?=?new?HashMap();
colorMap.put("紅",?Color.RED);
colorMap.put("綠",?Color.GREEN);
colorMap.put("藍(lán)",?Color.BLUE);
colorMap.put("黃",?Color.YELLOW);
cbxColors?=?new?JComboBox(colorMap.keySet().toArray());
cbxColors.setPreferredSize(new?Dimension(50,?23));
cbxColors.addItemListener(e?-?{
Color?color?=?colorMap.get(e.getItem());
txtName.setBackground(color);
});
this.add(cbxColors);
txtName?=?new?JTextField();
txtName.setPreferredSize(new?Dimension(100,?23));
txtName.setBackground(Color.RED);
this.add(txtName);
}
public?static?void?main(String[]?args)?{
new?App().setVisible(true);
}
}
運(yùn)行結(jié)果:
excel表格的樣式都是通過(guò)創(chuàng)建cellstyle實(shí)現(xiàn)的,HSSFCellStyle cellStyle =workbook.createCellStyle();
設(shè)置背景色的代碼cellStyle.setFillBackgroundColor(HSSFColor.LIGHT_YELLOW.index);
再將想要設(shè)置背景色的單元格cell.setStyle(cellStyle);