代碼太多,丟個核心即可;
十年的思禮網站建設經驗,針對設計、前端、開發、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。成都營銷網站建設的優勢是能夠根據用戶設備顯示端的尺寸不同,自動調整思禮建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優雅布局與設計,從而大程度地提升瀏覽體驗。創新互聯從事“思禮網站設計”,“思禮網站推廣”以來,每個客戶項目都認真落實執行。
JMenuBar?mb=new?JMenuBar();
mb.getComponent().setBackground(Color.RED);//設置背景顏色的核心代碼!
你好!
首先,你說的Java窗口是指JFrame或者Frame
其次,你說的窗口背景顏色是指直接調用JFrame或者Frame的setBackground(Color?color)方法設置后顯示出來的顏色。其實,你的想法是正確的,但是我想提醒你的是,你沒搞明白JFrame的顯示機制。在你直接調用這個方法后,你的確設置了背景顏色,而你看到的卻不是直接的JFrame或者Frame,而是JFrame.getContentPane().而JFrame上的contentPane默認是Color.WHITE的,所以,無論你對JFrame或者Frame怎么設置背景顏色,你看到的都只是contentPane.
最后,講解決辦法:
辦法A:在完成初始化,調用getContentPane()方法得到一個contentPane容器,然后將其設置為不可見,即setVisible(false)。這樣,你就可以看到JFrame的廬山真面貌啦!
核心代碼this.getContentPane().setVisible(false);//得到contentPane容器,設置為不可見
實例完整代碼如下:
/*
*?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容器,設置為不可見
}
/**?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的顏色設置為你想要的顏色,而不是對JFrame本身設置,
核心代碼:this.getContentPane().setBackground(Color.red);//設置contentPane為紅色
將核心代碼替換方法A核心代碼即可實現
方法C:為JFrame添加一個Panel或者JLabel等其他組件,設置其顏色為你想要的顏色,然后將其覆蓋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("藍",?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);
}
}
運行結果:
excel表格的樣式都是通過創建cellstyle實現的,HSSFCellStyle cellStyle =workbook.createCellStyle();
設置背景色的代碼cellStyle.setFillBackgroundColor(HSSFColor.LIGHT_YELLOW.index);
再將想要設置背景色的單元格cell.setStyle(cellStyle);
本文標題:java中背景顏色代碼 Java背景顏色
地址分享:http://m.kartarina.com/article34/hgjhpe.html
成都網站建設公司_創新互聯,為您提供品牌網站設計、商城網站、手機網站建設、營銷型網站建設、網站維護、建站公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯