『壹』 為什麼java中用setBackground(Color.blue);設置不了背景顏色啊
看你是對什麼設置背景色了,比如對於
this.getContentPane().setBackground(Color.blue);
是沒用的。因為Swing中JFrame的層次問題,具體你可以自己去搜搜看。大概就是Pane上面還有一層其他的東東,然後這上面才是你自己添加的比如按鈕啊、標簽之類的。
設置不了背景色,我認為一種解決方案是:
假設一個場景,你要做一個小說閱讀器的界面,小說閱讀器的背景要設置為藍色,那麼你就這樣,
JPanel
panel
=
new
JPanel();
this.getContentPane().add(panel);
panel.setBackground(Color.blue);
//然後在panel上添加其他組件
『貳』 java窗口的背景顏色
public void setBackground(Color c)設置組件的背景色。
背景色對每個組件的影響各不相同,並且部分受背景色影響的組件在不同的操作系統之間可能有所不同。
用這個方法嘛,改變不了,可能是你在窗體上添加了別的容器什麼的把當前要改變的給擋上了.仔細排查一下,相信你會改過來的.
『叄』 在java中怎樣設置文本框中的背景色
java.awt包中的TextField類(單行文本框)、TextArea類(多行文本框),以及javax.swing包中的JTextField類(單行文本框)、JTextArea類(多行文本框),它們都有setBackground方法來設置此文本組件的背景色。
該方法聲明和使用方式如下:
public void setBackground(Color c)
設置此文本組件的背景色。
參數:
c - 成為此文本組件背景色的顏色。如果參數為 null,則此文本組件將繼承其父組件的背景色。
『肆』 在java中如何設定面板的背景顏色
我們先打開需要設置背景顏色的word文檔,打開之後我們可以看到在工具欄有一個「格式」選項,單擊該選項,會看到該選項還會下分子選項。
在下分的選項里,我們將滑鼠移到「背景」又會下拉選項,這時我們就可以選擇我們喜歡的顏色作為背景顏色了,假如你喜歡紅色的話,那麼單擊紅色即可。
單擊「紅色」按鈕之後就會出現如圖所示啦,這時我們就可以看到word文檔的背景變成紅色的了。
選擇紅色之後,我們可以看到紅色太刺眼了,那麼想選擇其他顏色的話該怎麼辦呢?那麼我們繼續按照上面的兩個步驟來做,只不過在下拉的選項里我們單擊「填充效果」按鈕。
單擊「填充效果」按鈕之後會彈出如圖對話框,這時我們單擊「紋理」按鈕。
單擊「紋理」按鈕之後會彈出如圖對話框,這時我們就可以給word文檔填充自己喜歡的紋理背景了。
如果你不喜歡紋理背景的話,那麼可以單擊「圖案」按鈕選擇自己喜歡的圖案來做word背景顏色。
如果「圖案」裡面的圖形也不能滿足你的話,那麼你可以繼續單擊後方的「圖片」按鈕。單擊之後會出現如圖所示,這時我們單擊下方的「選擇圖片」按鈕。
單擊之後會彈出如圖對話框,這時我們可以從自己的電腦里找到自己喜歡的圖片來作為word的背景顏色,找到之後單擊「插入」按鈕即可。
單擊「插入」按鈕之後會出現如圖所示,此時我們單擊「確定」按鈕。
單擊「確定」按鈕之後就會出現如下圖所示啦,這時我們就可以看出來,這次的背景顏色比第一次的要好看很多。為word添加背景顏色你會了嗎?
『伍』 java 點擊按紐改變背景顏色
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
//本類繼承JFrame,實現了ActionListener介面
{
intr=90;
intg=15;
intb=195;
publicMyFrame(){
//組件的初始化
JButtonjbRed=newJButton("red");
jbRed.setLocation(20,80);//按鈕位置
jbRed.setSize(80,40);//按鈕大小
jbRed.addActionListener(this);//添加點擊按鈕後的事件響應,因為本類實現了ActionListener介面,所以可以傳入參數this
JButtonjbGreen=newJButton("green");
jbGreen.setLocation(120,80);
jbGreen.setSize(80,40);
jbGreen.addActionListener(this);
JButtonjbBlue=newJButton("blue");
jbBlue.setLocation(220,80);
jbBlue.setSize(80,40);
jbBlue.addActionListener(this);
//添加組件到窗口
add(jbRed);
add(jbGreen);
add(jbBlue);
//窗口的設置
setLayout(null);//因為每一個按鈕都設置了位置和大小,那麼應該把窗口設置為空布局,那麼位置和大小才能有效
setTitle("窗口標題");
getContentPane().setBackground(newColor(r,g,b));//設置窗口的面板背景色
setLocation(220,160);//窗口位置
setSize(320,240);//窗口大小
//setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//點擊關閉按鈕時,結束程序
//下面也可以實現,點擊關閉按鈕時,結束程序
addWindowListener(newWindowAdapter(){
@Override
publicvoidwindowClosing(WindowEvente){//點擊關閉按鈕會觸發這個事件,調用這個方法
System.out.println("通過WindowListener實現關閉");
System.exit(0);//退出
}
});
}
publicvoidactionPerformed(ActionEvente){
Stringcmd=e.getActionCommand();
//通過ActionCommand來判斷是哪一個按鈕被點擊了
if("red".equals(cmd)){//如果是紅色按鈕被點擊了,那麼紅色+10
r+=10;
if(r>255){//如果red大於255,可以設置為0,也可以設置為255,一直鎖定為255也可設置為初始的90,這里題目這里沒有要求
r=90;
}
}elseif("green".equals(cmd)){
g+=10;
if(g>255){
g=15;
}
}elseif("blue".equals(cmd)){
b+=10;
if(b>255){
b=195;
}
}
this.getContentPane().setBackground(newColor(r,g,b));
//System.out.println(this.getContentPane().getBackground());
}
publicstaticvoidmain(String[]args){
EventQueue.invokeLater(newRunnable(){
publicvoidrun(){
newMyFrame().setVisible(true);//啟動窗口並設置可見
}
});
}
}
『陸』 用Java設計的記事本怎樣設置背景顏色
JTextField jtf=new JTextfield();
jtf.setForeground(Color.red);//設置文本框內文字顏色為紅色
jtf.setBackground(Color.green);//設置文本框背景色為綠色
『柒』 Java中能不能設置標簽的背景顏色
label.setbackground(color
color)是不能改變jlabel的背景,如果你非得需要改變背景色,做一個只有一種顏色的大小合適的圖片,把它放到jlabel上吧。
『捌』 在java中怎樣設置文本框中的背景色
最近要實現一個功能,類似Cmd等控制台窗口的樣式。一個對話框中放置一個編輯框,需要在窗口開啟後將編輯框的背景色設置為黑色,將其上面的字體顏色設置為白色。
於是研究了一下,發現功能的實現很容易,需要添加WM_CTLCOLOR消息的響應函數:OnCtlColor。代碼如下:
HBRUSHCShellDlg::OnCtlColor(CDC*pDC,CWnd*pWnd,UINTnCtlColor) { HBRUSHhbr=CDialogEx::OnCtlColor(pDC,pWnd,nCtlColor); //TODO:在此更改DC的任何特性 ,//TODO:如果默認的不是所需畫筆,則返回另一個畫筆 。
if(pWnd>GetDlgCtrlID()==IDC_DISPLAY) { , pDC->SetBkColor(RGB(0,0,0)); pDC->SetTextColor(RGB(255,255,255)); hbr=(HBRUSH)GetStockObject(BLACK_BRUSH); returnhbr; } returnhbr; }
『玖』 java設定背景顏色
本來是在drawcomponent這個里邊使用setBackground,你想啊drawcomponent是繼承JComponent的所以它是一個容器,所以它同樣有setBackground這個方法來設置它的背景顏色
但是因為你在設置它本身為一個畫布,因為你用了paintComponent(Graphicsg)
這個方法,所以setBackground這個方法即使你用了也看不到很大的效果。但是有一種取代的方法就是在paintComponent(Graphicsg)方法中首先就用Graphics所含有的方法g.setColor(Color.black);來設置背景顏色再用g.fillRect(0,0,this.getWidth(),this.getHeight());來填滿整個容器,這就達到了設置背景目的。然後你再g.setColor(其他顏色);來繪制其它圖形.
具體代碼:(在你以上的代碼上修改了點)
publicvoidpaintComponent(Graphicsg)
{
Graphics2Dg2=(Graphics2D)g;
g.setColor(Color.black);//這里設置背景顏色
g.fillRect(0,0,this.getWidth(),this.getHeight());//這里填充背景顏色
doublex=100;
doubley=100;
doublew=200;
doubleh=150;
Rectangle2Drect=newRectangle2D.Double(x,y,w,h);
g2.setPaint(Color.white);//這里是你設置其他筆觸顏色
g2.draw(rect);
Ellipse2Dellipse=newEllipse2D.Double();
ellipse.setFrame(rect);
g2.draw(ellipse);
Point2Dp1=newPoint2D.Double(x-40,y-30);
Point2Dp2=newPoint2D.Double(x+w+40,y+h+30);
g2.draw(newLine2D.Double(p1,p2));
doublecenterx=rect.getCenterX();
doublecentery=rect.getCenterY();
doubleradius=150;
Ellipse2Dcircle=newEllipse2D.Double();
circle.setFrameFromCenter(centerx,centery,centerx+125,centery+125);
g2.draw(circle);
}
測試結果圖
『拾』 java窗口背景顏色怎麼設定用setBackground()好像不行,請大俠指教!
你好!
首先,你說的Java窗口是指JFrame或者Frame
其次,你說的窗口背景顏色是指直接調用JFrame或者Frame的setBackground(Colorcolor)方法設置後顯示出來的顏色。其實,你的想法是正確的,但是我想提醒你的是,你沒搞明白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
*
*Createdon2011-5-8,0:21:20
*/
packagetestjframebgcolor;
importjava.awt.Color;
/**
*
*@author葉科良
*/
.swing.JFrame{
/***/
publicTestJFrameBGColor(){
initComponents();
this.getContentPane().setVisible(false);//得到contentPane容器,設置為不可見
}
/**
*initializetheform.
*WARNING:DoNOTmodifythiscode.Thecontentofthismethodis
*.
*/
@SuppressWarnings("unchecked")
//<editor-folddefaultstate="collapsed"desc="GeneratedCode">
privatevoidinitComponents(){
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
org.jdesktop.application.ResourceMapresourceMap=org.jdesktop.application.Application.getInstance(testjframebgcolor.TestJFrameBGColorApp.class).getContext().getResourceMap(TestJFrameBGColor.class);
setBackground(resourceMap.getColor("Form.background"));//NOI18N
setName("Form");//NOI18N
javax.swing.GroupLayoutlayout=newjavax.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>
/**
*@
*/
publicstaticvoidmain(Stringargs[]){
java.awt.EventQueue.invokeLater(newRunnable(){
publicvoidrun(){
newTestJFrameBGColor().setVisible(true);
}
});
}
//Variablesdeclaration-donotmodify
//Endofvariablesdeclaration
}
方法B:將contentPane的顏色設置為你想要的顏色,而不是對JFrame本身設置,
核心代碼:this.getContentPane().setBackground(Color.red);//設置contentPane為紅色
將核心代碼替換方法A核心代碼即可實現
方法C:為JFrame添加一個Panel或者JLabel等其他組件,設置其顏色為你想要的顏色,然後將其覆蓋JFrame窗口即可