JAVA刷新swing面板的问题 10
我用JLabel的text里用了一个变量例如"姓名:"+getName(),想要这个变量在每次变化的同时(这里就是name会改变的时候)会在swing面板上改变,要怎么实...
我用JLabel的text里用了一个变量例如 "姓名: " + getName(),想要这个变量在每次变化的同时(这里就是name会改变的时候)会在swing面板上改变,要怎么实现?试了很多办法,什么repaint啊updateUI啊都没有用。求大神指点一下或者给个简单的例子看得懂那种。。。谢谢
不行啊,帮看下这段有什么问题吧
public void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
frame.getContentPane().add(panel, BorderLayout.CENTER);
JButton btnNewButton = new JButton("加1");
panel.add(btnNewButton);
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
i = i+1;
panel.repaint();
frame.repaint();
}
});
JLabel label = new JLabel("No." + i);
panel.add(label);
} 展开
不行啊,帮看下这段有什么问题吧
public void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
frame.getContentPane().add(panel, BorderLayout.CENTER);
JButton btnNewButton = new JButton("加1");
panel.add(btnNewButton);
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
i = i+1;
panel.repaint();
frame.repaint();
}
});
JLabel label = new JLabel("No." + i);
panel.add(label);
} 展开
1个回答
展开全部
简单的很。可以用按钮监听事件然后重绘界面就行了。比如:
JPanel jp=(JPanel)this.getContentPane();
JButton jb=new JButton();
public TFrame()
{
//构造方法里的把组件添加进去
jp.addActionListener(new ActionListener()
{
//更新内容
// jp.removeAll();//如果内容需要实时更新,可以remove,来释放资源。但是前提是,组件都是在构造方法里实例化的,然后可以remove后在添加内容进去。用remove时不需要用repaint();
jp.repaint();//这样重绘界面,界面就更新了。
});
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询