栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java Swing:如何动态更改GUI

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java Swing:如何动态更改GUI

作为参考,以下是显示基本方法的脚本validate()。这个更精致的示例显示了两个要求:它更改布局并动态添加组件。

import java.awt.*;import java.awt.event.ActionEvent;import javax.swing.*;public class DynamicLayout extends JPanel {    private static final LayoutManager H = new GridLayout(1, 0);    private static final LayoutManager V = new GridLayout(0, 1);    public DynamicLayout() {        this.setLayout(H);        this.setPreferredSize(new Dimension(320, 240));        for (int i = 0; i < 3; i++) { this.add(new JLabel("Label " + String.valueOf(i), JLabel.CENTER));        }    }    private void display() {        Jframe f = new Jframe("DynamicLayout");        f.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);        f.add(this);        JPanel p = new JPanel();        p.add(new JButton(new AbstractAction("Horizontal") { @Override public void actionPerformed(ActionEvent e) {     DynamicLayout.this.setLayout(H);     DynamicLayout.this.validate(); }        }));        p.add(new JButton(new AbstractAction("Vertical") { @Override public void actionPerformed(ActionEvent e) {     DynamicLayout.this.setLayout(V);     DynamicLayout.this.validate(); }        }));        f.add(p, BorderLayout.SOUTH);        f.pack();        f.setLocationRelativeTo(null);        f.setVisible(true);    }    public static void main(String[] args) {        EventQueue.invokeLater(new Runnable() { @Override public void run() {     new DynamicLayout().display(); }        });    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/517706.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号