分析題目:
成都創新互聯公司云計算的互聯網服務提供商,擁有超過13年的服務器租用、遂寧服務器托管、云服務器、網站空間、網站系統開發經驗,已先后獲得國家工業和信息化部頒發的互聯網數據中心業務許可證。專業提供云主機、網站空間、申請域名、VPS主機、云服務器、香港云服務器、免備案服務器等。
一 分析布局: 題目明確的指出了按鈕的位置和大小 ,那么說明需要使用的布局是空布局(絕對布局) , 而JFrame窗口的內容面板默認布局是邊界布局(BorderLayout),所以需要設置一下
setLayout(null);//設置為絕對布局
二了解顏色. Color 可以通過紅,綠,藍 三原色, 不同的搭配, 形成不同的顏色.
每個原色的取值范圍是0~255, 比如紅色的rgb值就是r=255,g=0,b=0
胡蘿卜色 r=237,g=145,b=33
三添加顏色 ,java給JFrame添加顏色,比較特殊. 必須添加到內容面板上,才能正常顯示(因為JFrame分了好多層)
getContentPane().setBackground(new?Color(r,g,b));//設置窗口的面板背景色
四 事件處理分析: 點擊按鈕,會觸發ActionEvent 事件,這個事件會被ActionListener 接收器接收到, 只需要重寫ActionListener 里的actionPerformed 方法, 即可實現點擊按鈕后,做某件事
五 具體參考代碼
import?java.awt.*;
import?java.awt.event.*;
import?javax.swing.*;
//?本類繼承JFrame,實現了ActionListener接口
public?class?MyFrame?extends?JFrame?implements?ActionListener{
int?r?=?90;
int?g?=?15;
int?b?=?195;
public?MyFrame()?{
//組件的初始化
JButton?jbRed?=?new?JButton("red");
jbRed.setLocation(20,?80);//按鈕位置
jbRed.setSize(80,?40);//按鈕大小
jbRed.addActionListener(this);//添加點擊按鈕后的事件響應?,因為本類實現了ActionListener接口,所以可以傳入參數this
JButton?jbGreen?=?new?JButton("green");
jbGreen.setLocation(120,?80);
jbGreen.setSize(80,?40);
jbGreen.addActionListener(this);
JButton?jbBlue?=?new?JButton("blue");
jbBlue.setLocation(220,?80);
jbBlue.setSize(80,?40);
jbBlue.addActionListener(this);
//添加組件到窗口
add(jbRed);
add(jbGreen);
add(jbBlue);
//窗口的設置
setLayout(null);//因為每一個按鈕都設置了位置和大小,?那么應該把窗口設置為空布局,?那么位置和大小才能有效
setTitle("窗口標題");
getContentPane().setBackground(new?Color(r,g,b));//設置窗口的面板背景色
setLocation(220,?160);//?窗口位置
setSize(320,?240);//?窗口大小
//setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//點擊關閉按鈕時,結束程序
//下面也可以實現,點擊關閉按鈕時,?結束程序
addWindowListener(new?WindowAdapter()?{
@Override
public?void?windowClosing(WindowEvent?e)?{//點擊關閉按鈕會觸發這個事件,調用這個方法
System.out.println("通過WindowListener實現關閉");
System.exit(0);//退出
}
});
}
public?void?actionPerformed(ActionEvent?e)?{
String?cmd=e.getActionCommand();
//通過ActionCommand?來判斷是哪一個按鈕被點擊了
if("red".equals(cmd))?{//如果是紅色按鈕被點擊了,那么紅色+10
r+=10;
if(r255)?{//如果red大于255?,可以設置為0?,也可以設置為255,一直鎖定為255?也可設置為初始的90,這里題目這里沒有要求
r=90;
}
}else?if("green".equals(cmd))?{
g+=10;
if(g255)?{
g=15;
}
}else?if("blue".equals(cmd)){
b+=10;
if(b255)?{
b=195;
}
}
this.getContentPane().setBackground(new?Color(r,g,b));
//System.out.println(this.getContentPane().getBackground());
}
public?static?void?main(String[]?args)?{
EventQueue.invokeLater(new?Runnable()?{
public?void?run()?{
new?MyFrame().setVisible(true);//啟動窗口并設置可見
}
});
}
}
import?java.awt.BorderLayout;
import?java.awt.Color;
import?java.awt.Font;
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;
import?javax.swing.JButton;
import?javax.swing.JFrame;
import?javax.swing.JLabel;
import?javax.swing.JPanel;
class?Frame1?extends?JFrame?//?設計一個窗體類
{
JButton?jb1,?jb2,?jb3;?//?按鈕
JLabel?jl;?//?標簽
Frame1()?//?構造方法
{
jb1?=?new?JButton("紅色");?//?創建按鈕對象
jb2?=?new?JButton("綠色");
jb3?=?new?JButton("藍色");
//?給jb1添加監聽事件
jb1.addActionListener(new?ActionListener()?{
//?覆寫actionPerformed方法
@Override
public?void?actionPerformed(ActionEvent?e)?{
jl.setForeground(Color.RED);
}
});
//?給jb2添加監聽事件
jb2.addActionListener(new?ActionListener()?{
@Override
public?void?actionPerformed(ActionEvent?e)?{
jl.setForeground(Color.GREEN);
}
});
//?給jb3添加監聽事件
jb3.addActionListener(new?ActionListener()?{
@Override
public?void?actionPerformed(ActionEvent?e)?{
jl.setForeground(Color.BLUE);
}
});
jl?=?new?JLabel("設定標簽顏色");?//?創建標簽對象
jl.setFont(new?Font("隸書",?Font.PLAIN,?32));?//?標簽字體
JPanel?jp1?=?new?JPanel();?//?面板1
JPanel?jp2?=?new?JPanel();?//?面板2
jp1.add(jl);?//?標簽放入面板1
jp2.add(jb1);?//?三個按鍵放入面板2
jp2.add(jb2);
jp2.add(jb3);
setLayout(new?BorderLayout());?//?窗體設定為邊界布局
this.add(jp1,?BorderLayout.NORTH);?//?標簽面板放在窗體上端
this.add(jp2,?BorderLayout.CENTER);?//?按鈕面板放在窗體中間
setBounds(400,?300,?300,?140);?//?設定窗體大小和位置
setTitle("【實驗10-1】座號25,王濤\n");?//?設定窗體標題
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);?//?設定窗體可見
}
}
public?class?Experiment10_1?{
public?static?void?main(String[]?args)?{
new?Frame1();
}
}
submit=newJButton("登陸");\x0d\x0a\x0d\x0asubmit.setFont(newFont("宋體",Font.PLAIN,16));\x0d\x0a三個參數分別表示:字體,樣式(粗體,斜體等),字號\x0d\x0a\x0d\x0asubmit.setForeground(Color.RED);\x0d\x0a這個表示給組件上的文字設置顏色Color.RED表示紅色\x0d\x0a當然你也可以自己給RGB的值比如submit.setForeground(newColor(215,215,200));\x0d\x0a\x0d\x0aJLabel組件支持HTML標記代碼\x0d\x0ainfoLab=newJLabel("用戶登陸系統",JLabel.CENTER);\x0d\x0a\x0d\x0a*注意:地址要單引號引起來。這個表示給用戶登錄系統幾個字增加超鏈接\x0d\x0ainfoLab.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));\x0d\x0a\x0d\x0a這個表示給這個文字添加鼠標樣式,當鼠標移動到文字上,鼠標變成手型
setForeground() 設置前景/字體顏色
setBackground() 設置背景顏色
具體實現:(假設按鈕名稱為:button)
設置紅字:
button.setForeground(Color.red);
設置黑色背影:
button.setBackground(Color.black);
文章名稱:按鈕顏色代碼java 按鈕背景顏色代碼
網站路徑:http://m.kartarina.com/article22/hgjdjc.html
成都網站建設公司_創新互聯,為您提供小程序開發、用戶體驗、虛擬主機、網站收錄、云服務器、企業網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯