请教一个Java Swing的JFrame窗口组件更新数据的问题。

java的屌丝一枚 2014-02-06 03:26:13
我写了一个JFrame窗口,上面有很多JButton按钮,这些按钮,是我展示给用户的:
享受我的服务。
我需要即时的更新他的内容。
现在,我的JFrame窗口已经创建,服务器的一部分新的数据再次到达。
我需要将我的JFrame窗口上的JButton按钮的参数值进行更新,并且向用户展示新的参数的“更新后的JButton界面效果”,(包括JButton按钮上的显示字符)。
请问:
在我的JFrame窗口,以及JFrame窗口上的一排JButton按钮,已经创建好了,的场景下.
我应该怎么弄,能够让我的程序,C端,向用户展示:
C端接收到服务器的更新后的JButton按钮上的数据,并且,不会让用户,“眼前一晃”,用户的本产品UI体验,下降?
...全文
531 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yousun4688 2014-02-07
  • 打赏
  • 举报
回复
重写组件中的protected voidpantCompent()这个方法试试
  • 打赏
  • 举报
回复
方名师姐,请问: 这个类型:
package c_port_packageBJTeacher;

import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.io.Serializable;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Commonailment extends JFrame implements Serializable,WindowListener{
	/**
	 * 
	 */
	
	private static final long serialVersionUID = 1L;
	/**
	 * @param args
	 */
	JPanel jp = new JPanel();
	Font fnt = new Font("华文中宋",0,20);
	static MyJButton000 JB0 =  null;
	static MyJButton001 JB1 =  null;
	static MyJButton002 JB2 =  null;
	static MyJButton003 JB3 =  null;
	static MyJButton004 JB4 =  null;
	static MyJButton005 JB5 =  null;
	static MyJButton006 JB6 =  null;
	static MyJButton007 JB7 =  null;
	static MyJButton008 JB8 =  null;
	static MyJButton009 JB9 =  null;
	static MyJButton010 JB10 = null;
	ChineseTeacher jb881 = null;
	public Commonailment(){
//		this.setVisible(false);
		this.setTitle("请选择您的语文家庭教师");
		jp.setLayout(new GridLayout(10,0));
		JB0 = new MyJButton000(Recv.MyJButton0content[0],Recv.MyJButton0Teacher_ficia[0],Recv.MyJButton0SystempriKey[0],Recv.Teacheronline[0],Recv.MyJButton0complicatingnum[0]);                                                                
		JB1 =  new MyJButton001(Recv.MyJButton0content[1],Recv.MyJButton0Teacher_ficia[1],Recv.MyJButton0SystempriKey[1],Recv.Teacheronline[1],Recv.MyJButton0complicatingnum[1]);                                                                
		JB2 =  new MyJButton002(Recv.MyJButton0content[2],Recv.MyJButton0Teacher_ficia[2],Recv.MyJButton0SystempriKey[2],Recv.Teacheronline[2],Recv.MyJButton0complicatingnum[2]);                                                                
		JB3 =  new MyJButton003(Recv.MyJButton0content[3],Recv.MyJButton0Teacher_ficia[3],Recv.MyJButton0SystempriKey[3],Recv.Teacheronline[3],Recv.MyJButton0complicatingnum[3]);                                                                
		JB4 =  new MyJButton004(Recv.MyJButton0content[4],Recv.MyJButton0Teacher_ficia[4],Recv.MyJButton0SystempriKey[4],Recv.Teacheronline[4],Recv.MyJButton0complicatingnum[4]);                                                                
		JB5 =  new MyJButton005(Recv.MyJButton0content[5],Recv.MyJButton0Teacher_ficia[5],Recv.MyJButton0SystempriKey[5],Recv.Teacheronline[5],Recv.MyJButton0complicatingnum[5]);                                                                
		JB6 =  new MyJButton006(Recv.MyJButton0content[6],Recv.MyJButton0Teacher_ficia[6],Recv.MyJButton0SystempriKey[6],Recv.Teacheronline[6],Recv.MyJButton0complicatingnum[6]);                                                                
		JB7 =  new MyJButton007(Recv.MyJButton0content[7],Recv.MyJButton0Teacher_ficia[7],Recv.MyJButton0SystempriKey[7],Recv.Teacheronline[7],Recv.MyJButton0complicatingnum[7]);                                                                
		JB8 =  new MyJButton008(Recv.MyJButton0content[8],Recv.MyJButton0Teacher_ficia[8],Recv.MyJButton0SystempriKey[8],Recv.Teacheronline[8],Recv.MyJButton0complicatingnum[8]);                                                                
		JB9 =  new MyJButton009(Recv.MyJButton0content[9],Recv.MyJButton0Teacher_ficia[9],Recv.MyJButton0SystempriKey[9],Recv.Teacheronline[9],Recv.MyJButton0complicatingnum[9]);                                                                
		JB10 =  new MyJButton010(Recv.MyJButton0content[10],Recv.MyJButton0Teacher_ficia[10],Recv.MyJButton0SystempriKey[10],Recv.Teacheronline[10],Recv.MyJButton0complicatingnum[10]);                                                          
		jb881 =  new ChineseTeacher(JB0,JB1,JB2,JB3,JB4,JB5,JB6,JB7,JB8,JB9,JB10,JB11,JB12,JB13,JB14,JB15,JB16,JB17,JB18,JB19,JB20,this);
		jp.add(JB0);
		jp.add(JB1);
		jp.add(JB2);
		jp.add(JB3);
		jp.add(JB4);
		jp.add(JB5);
		jp.add(JB6);
		jp.add(JB7);
		jp.add(JB8);
		jp.add(JB9);
		jp.add(JB10);
		jp.add(JB11);
		jp.add(JB12);
		jp.add(JB13);
		jp.add(JB14);
		jp.add(JB15);
		jp.add(JB16);
		jp.add(JB17);
		jp.add(JB18);
		jp.add(JB19);
		jp.add(JB20);
		jp.add(jb881);
		this.add(jp);
		JB0.setFont(fnt);
		JB1.setFont(fnt);
		JB2.setFont(fnt);
		JB3.setFont(fnt);
		JB4.setFont(fnt);
		JB5.setFont(fnt);
		JB6.setFont(fnt);
		JB7.setFont(fnt);
		JB8.setFont(fnt);
		JB9.setFont(fnt);
		JB10.setFont(fnt);
		jb881.setFont(fnt);
		setBounds(200,110,1008,200);
	}
	
	public void UpdateMyUI(){
		this.remove(JB0);
		JB0 = new MyJButton000(Recv.MyJButton0content[0],Recv.MyJButton0Teacher_ficia[0],Recv.MyJButton0SystempriKey[0],Recv.Teacheronline[0],Recv.MyJButton0complicatingnum[0]);                                                                
		this.add(JB0);
		this.remove(JB1);
		JB1 = new MyJButton001(Recv.MyJButton0content[1],Recv.MyJButton0Teacher_ficia[1],Recv.MyJButton0SystempriKey[1],Recv.Teacheronline[1],Recv.MyJButton0complicatingnum[1]);                                                                
		this.add(JB1);
		this.remove(JB2);
		JB2 = new MyJButton002(Recv.MyJButton0content[2],Recv.MyJButton0Teacher_ficia[2],Recv.MyJButton0SystempriKey[2],Recv.Teacheronline[2],Recv.MyJButton0complicatingnum[2]); 
		this.add(JB2);
		this.remove(JB3);
		JB3 = new MyJButton003(Recv.MyJButton0content[3],Recv.MyJButton0Teacher_ficia[3],Recv.MyJButton0SystempriKey[3],Recv.Teacheronline[3],Recv.MyJButton0complicatingnum[3]); 
		this.add(JB3);
		this.remove(JB2);
		JB3 = new MyJButton003(Recv.MyJButton0content[3],Recv.MyJButton0Teacher_ficia[3],Recv.MyJButton0SystempriKey[3],Recv.Teacheronline[3],Recv.MyJButton0complicatingnum[3]); 
		this.add(JB3);
		this.remove(JB4);
		JB4 = new MyJButton004(Recv.MyJButton0content[4],Recv.MyJButton0Teacher_ficia[4],Recv.MyJButton0SystempriKey[4],Recv.Teacheronline[4],Recv.MyJButton0complicatingnum[4]); 
		this.add(JB4);
		this.remove(JB5);
		JB5 = new MyJButton005(Recv.MyJButton0content[5],Recv.MyJButton0Teacher_ficia[5],Recv.MyJButton0SystempriKey[5],Recv.Teacheronline[5],Recv.MyJButton0complicatingnum[5]); 
		this.add(JB5);
		this.remove(JB6);
		JB6 = new MyJButton006(Recv.MyJButton0content[6],Recv.MyJButton0Teacher_ficia[6],Recv.MyJButton0SystempriKey[6],Recv.Teacheronline[6],Recv.MyJButton0complicatingnum[6]); 
		this.add(JB6);
		this.remove(JB7);
		JB7 = new MyJButton007(Recv.MyJButton0content[7],Recv.MyJButton0Teacher_ficia[7],Recv.MyJButton0SystempriKey[7],Recv.Teacheronline[7],Recv.MyJButton0complicatingnum[7]); 
		this.add(JB7);
		this.remove(JB8);
		JB8 = new MyJButton008(Recv.MyJButton0content[8],Recv.MyJButton0Teacher_ficia[8],Recv.MyJButton0SystempriKey[8],Recv.Teacheronline[8],Recv.MyJButton0complicatingnum[8]); 
		this.add(JB8);
		this.remove(JB9);
		JB9 = new MyJButton009(Recv.MyJButton0content[9],Recv.MyJButton0Teacher_ficia[9],Recv.MyJButton0SystempriKey[9],Recv.Teacheronline[9],Recv.MyJButton0complicatingnum[9]); 
		this.add(JB9);
		this.remove(JB10);
		JB10 = new MyJButton0010(Recv.MyJButton0content[10],Recv.MyJButton0Teacher_ficia[10],Recv.MyJButton0SystempriKey[10],Recv.Teacheronline[10],Recv.MyJButton0complicatingnum[10]); 
		this.add(JB10);
	}

	@Override
	public void windowActivated(WindowEvent e) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void windowClosed(WindowEvent e) {
		// TODO Auto-generated method stub
		this.dispose();
	}

	@Override
	public void windowClosing(WindowEvent e) {
		// TODO Auto-generated method stub
		this.dispose();
	}

	@Override
	public void windowDeactivated(WindowEvent e) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void windowDeiconified(WindowEvent e) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void windowIconified(WindowEvent e) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void windowOpened(WindowEvent e) {
		// TODO Auto-generated method stub
		
	}
	
}
作为C端的一个“好友列表”,我能不能进行: 在C端接收到服务器的数据后,创建这个JFrame窗口,在我的服务器再次传来新的好友列表的数据后,我能够调用其中的“UpdateMyUI()方法”,进行“我的新的C端的好友列表中的数据与功能”的更新? 并且,能够在用户的端点,进行: 让用户尽可能舒适的“UI更新”?
  • 打赏
  • 举报
回复
“眼前一晃”是刷新重画而已,你更新哪些需要更新的数据就行了,不用整个frame重新画。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧