關(guān)于swing中jpanel刷新的問題
關(guān)于swing中jpanel刷新的問題
好好調(diào)試 setLoc() 函數(shù) panel_2.update(getGraphics());這句是不對的。ActionListener 沒有g(shù)etGraphics()。
就算當(dāng)前的窗口有,也不是panel_2。
panel_2.repaint(); 是刷新顯示,如果內(nèi)容不更新,也沒效果的。
Java Swing關(guān)于界面刷新的問題??!
這個,你把jpanel對象聲明為成全局變量,在主窗體里面去創(chuàng)建,然后通過按鈕來改變jpanel對象即可:具體的代碼我就不寫了,給點關(guān)鍵的給你,僅作參考!我沒有編譯環(huán)境,單詞有可能有些錯,能表達意思就好,代碼如下:class Demo extend Jframe{ private Jpanel panel=null;//這個是你要更改的面板 private Jbutton btnA=null; private Jbutton btnB=null; public Demo() { this.setSize(800,600) panel=new Jpane(); panel.setSize(100,100); btnA=new Jbutton(\”寬度加300\”) btnA.addActionListener(new actionListener(){ 實現(xiàn)接口方法,在實現(xiàn)方法中填入panel.setSize(400,100); }) btnB=new Jbutton(\”高度加300\”) btnB.addActionListener(new actionListener(){ 實現(xiàn)接口方法,在實現(xiàn)方法中填入panel.setSize(100,400); }) this.add(panel); this.add(btnA); this.add(btnB); }main(String[] args){ new Demo(); }}當(dāng)程序運行的時候,你分別點擊按鈕你就可以隨時改變panel中的類容了,包括在panel中控件,文本等!!,其他的什么布局,坐標(biāo)什么的,樓主應(yīng)該很熟悉的,我只給個例子?。∥揖筒粏铝?!
求助,如何實現(xiàn)JPanel容器刷新
[輕量級]JPanel容器的刷新,一般可以調(diào)用重繪 ,來實現(xiàn), 一般是繪制了圖形等情況,可以調(diào)用這個來刷新
jpanel.repaint();//重繪
[較重的]如果JPanel添加了組件(JButton,JTextArea ….等) ,那么可以調(diào)用重構(gòu)方法
jpanel.revalidate();
[重量級]updateUI ()更新UI使用,速度稍慢,效率較低
jpanel.updateUI()
java中怎么通過外部響應(yīng)來刷新主窗體中JFrame中的JPanel界面
可以通過監(jiān)聽事件來達到效果。
1,首先先新建個監(jiān)聽事件,監(jiān)聽某個控件,比如按鈕,監(jiān)聽按鈕,當(dāng)點擊按鈕時執(zhí)行一系列操作。
?
2,觸發(fā)后執(zhí)行一些數(shù)據(jù)更新和組件更新,然后重繪界面達到更新的效果
jb_button.addMouseListener(new?MouseAdapter()?{ @Override public?void?mouseClicked(MouseEvent?e)?{ //更新內(nèi)容?jp.repaint();//這樣重繪界面,界面就更新了。
JScrollPane中的JPanel里,在用了jpanel.remove方法刪除其中的JComponent后JPanel無法及時刷新。
可以通過以下方法實現(xiàn):JPanel jp = new JPanel();//創(chuàng)建一個版面JScrollPane jsp = new JScrollPane(jp);//將此面板加入到JScrollPane 下面?zhèn)渥ⅲ簊wing技術(shù)中大部分的都是通過new的方式進百科行的對象創(chuàng)建,之后通過add方法來進行的添加或者是直接在new的對象中通過構(gòu)造方法進行的添加。