案例介紹
歡迎來到我的小院,我是霍大俠,恭喜你今天又要進步一點點了!
我們來用Java編程實戰案例,做一個動態調色板,案例界面會出現三個滑動組塊以及對應的數值,通過移動滑塊可以改變顏色區域的顯示,通過實戰我們將學會組件的使用以及新的事件介面ChangeListener,
案例演示
界面開始顯示的是調色板的默認顏色數值,然后通過左右移動三個滑塊可以改變R、G、B的數值,進而改變顏色的顯示,


原始碼學習
進入核心代碼學習,我們先來宣告案例界面的組件變數,
<!-- 有個小院-興趣編程 -->
//定義表單
private JFrame jf;
//定義用于顯示R,G,B的組件
private JLabel label1,label2,label3;
//定義顏色值變換的滑塊組件
private JSlider slider1,slider2,slider3;
//顯示當前每個滑塊的值
private JTextField field1,field2,field3;
//顯示顏色的區域
private JTextArea jta;
然后再讓我們來看組件的初始化,這些實作可以寫在無引數的構造方法中,
//有個小院-興趣編程
public MyColorChooser() {
jf=new JFrame("動態調色板");
label1=new JLabel("R:");
label2=new JLabel("G:");
label3=new JLabel("B:");
slider1=new JSlider(0,255,127);
slider2=new JSlider(0,255,127);
slider3=new JSlider(0,255,127);
field1=new JTextField("127");
field2=new JTextField("127");
field3=new JTextField("127");
//設定滑塊不可編輯
field1.setEditable(false);
field2.setEditable(false);
field3.setEditable(false);
jta=new JTextArea(5,10);
jta.setEditable(false);
jta.setBackground(new Color(127,127,127));
init();
addEventHandler();
}
讓我們來撰寫核心的Java代碼,表單構建完成就需要對相應的組件添加事件,本案例通過新的事件介面ChangeListener,該介面繼承于EventListener介面,為了定義一個監聽ChangeEvent物件,另外當改變滑塊的位置時,就會呼叫stateChanged(ChangeEvent arg0)方法,通過getValue()方法即可獲得相應的數值,進而動態的調節顏色,
//有個小院-興趣編程
private void addEventHandler() {
// TODO Auto-generated method stub
//事件介面
ChangeListener lis=new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
// TODO Auto-generated method stub
int r=slider1.getValue();
int g=slider2.getValue();
int b=slider3.getValue();
field1.setText(r+"");
field2.setText(g+"");
field3.setText(b+"");
Color c=new Color(r,g,b);
jta.setBackground(c);
}
};
//給滑塊組件添加監聽事件
slider1.addChangeListener(lis);
slider2.addChangeListener(lis);
slider3.addChangeListener(lis);
}
記得關注我,每天學習一點點
你覺得動態調色板能應用到什么地方?
全網可搜:小院里的霍大俠, 免費獲取簡單易懂的實戰編程案例,編程/就業/副業/創業/資源,
私微信:huodaxia_xfeater
二維碼: http://www.yougexiaoyuan.com/images/weixin_huodaxia.jpg
公眾號:有個小院(微信公眾號:yougexiaoyuan)
github:yougexiaoyuan (視頻原始碼免費獲取)
(部分素材來源于互聯網,如有保護請聯系作者)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/540505.html
標籤:其他
下一篇:java中的例外處理
