/**
* JPanel 的作用是可以定义layout
* @author Administrator
*
*/
public class Gui extends JFrame implements ActionListener{
@Override
public void actionPerformed(ActionEvent arg0) {
}
public static void main(String[] a){
Gui gui = new Gui();
gui.setVisible(true);
gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private final String[] grid= {"网0","格1","布2","局3","管理4","器5"};
private JButton gridButton[] = new JButton[grid.length];
private final String[] flow = {"流","式","布","局","管","理","器"};
private JButton flowButton[] = new JButton[flow.length];
private final String[] border = {"边界","布局","管","理","器"};
private JButton borderButton[] = new JButton[border.length];
JButton bt = new JButton("卡片切换");
JButton bt1 = new JButton("网格包布局");
public Gui(){
super();
init();
setBackground(Color.YELLOW);
setTitle("布局管理器综合实例");
setLocation(500,300);
//setResizable(false);
pack(); //使得计算器中各组件大小合适
}
private void init(){
JPanel gridPanel = new JPanel();//网格布局面板
gridPanel.setLayout(new GridLayout(2,3,3,3));
for(int i=0;i<grid.length;i++){//生成按钮,添加到面板中
gridButton[i] = new JButton(grid[i]);
gridPanel.add(gridButton[i]);
gridButton[i].setForeground(Color.BLUE);
}
JPanel flowPanel = new JPanel();
flowPanel.setLayout(new FlowLayout());
for(int i=0;i<flow.length;i++){
flowButton[i] = new JButton(flow[i]);
flowPanel.add(flowButton[i]);
flowButton[i].setForeground(Color.RED);
}
JPanel borderPanel = new JPanel();
borderPanel.setLayout(new BorderLayout());
for(int i=0; i<border.length;i++){
borderButton[i] = new JButton(border[i]);
borderPanel.setForeground(Color.CYAN);
}
borderPanel.add("North",borderButton[0]);
borderPanel.add("East",borderButton[1]);
borderPanel.add("South",borderButton[2]);
borderPanel.add("West",borderButton[3]);
borderPanel.add("Center",borderButton[4]);
//==================cardPanel================================================
JPanel cardPanel = new JPanel();
cardPanel.setLayout(new BorderLayout());
/*JButton bt = new JButton("卡片切换");
cardPanel.add("North",bt);*/
JPanel cp = new JPanel(); //这个panel会把button包起来
bt.addActionListener(this);
cp.add(bt);
JPanel pl = new JPanel();
pl.add(new JButton("button 1"));
pl.add(new JButton("button 2"));
pl.add(new JButton("button 3"));
JPanel p2 = new JPanel();
p2.add(new TextField("TextField",20));
JPanel cards = new JPanel();
CardLayout layout = new CardLayout();
cards.setLayout(layout);
cards.add("Panel with buttons ",pl);
cards.add("Panel with TextField",p2);
cardPanel.add("Center",cards);
JPanel gridBagPanel = new JPanel(); //网格包
gridBagPanel.setLayout(new GridBagLayout());
GridBagConstraints c= new GridBagConstraints();
c.fill = GridBagConstraints.BOTH;
c.weightx = 1.0;
gridBagPanel.add(new JButton("网1"),c);
gridBagPanel.add(new JButton("格2"),c);
gridBagPanel.add(new JButton("包3"),c);
c.gridwidth = GridBagConstraints.REMAINDER;
gridBagPanel.add(new JButton("布4"),c);
c.weightx = 0.0;
gridBagPanel.add(new JButton("局5"),c);
c.gridwidth = GridBagConstraints.RELATIVE;
gridBagPanel.add(new JButton("管6"),c);
c.gridwidth = GridBagConstraints.RELATIVE;
gridBagPanel.add(new JButton("理7"),c);
c.gridheight = 2;
c.gridwidth=1;
c.weighty=1.0;
gridBagPanel.add(new JButton("器8"),c);
c.weighty=0.0;
c.gridwidth = GridBagConstraints.REMAINDER;
c.gridheight=1;
gridBagPanel.add(new JButton("器9"),c);
gridBagPanel.add(new JButton("器0"),c);
getContentPane().setLayout(new BorderLayout());
getContentPane().add("North",flowPanel);
getContentPane().add("West",gridBagPanel);
getContentPane().add("Center",borderPanel);
getContentPane().add("East",cardPanel);
getContentPane().add("South",gridPanel);
}
}
分享到:
相关推荐
Java GUI 布局综合实例 Java GUI 编程中,布局管理器是非常重要的一部分,它可以帮助开发者快速地构建图形用户界面。下面将对 Java GUI 布局管理器进行详细的介绍。 一、什么是 Java GUI 布局管理器? Java GUI ...
下面将详细探讨Matlab GUI布局工具箱的关键知识点。 1. **布局管理器**:Matlab GUI布局工具箱引入了多种布局管理器,如GridBagLayout、BoxLayout、CardLayout等,它们各自有不同的用途。GridBagLayout允许在网格中...
"DroidDraw"是一款专为Android设计的可视化GUI布局工具,它为开发者提供了一个直观、简便的方式来创建和编辑XML布局文件,无需手动编写代码。DroidDraw允许开发者通过拖放的方式添加控件,调整其位置、大小以及属性...
【标题】"水果超市GUI布局Javaweb实现"是一个基于JavaWeb技术的项目,它主要涉及了前端用户界面的设计和后端业务逻辑的处理。在这个项目中,开发者使用图形用户界面(GUI)来模拟一个在线水果超市的交互场景,让用户...
Java GUI布局管理是创建美观、用户友好的图形用户界面的关键技术。Java提供了多种布局管理方法,使得开发者可以灵活地组织和调整窗口中的组件。本文主要介绍了三种常用的布局管理策略:使用布局管理器、空布局以及...
本实验的目的是帮助初学者理解和应用GUI布局,特别是Swing组件。Swing是Java的一个库,提供了丰富的组件用于构建桌面应用程序的用户界面。 实验要求创建一个简单的计算器,这涉及到以下几个关键知识点: 1. **...
JAVA GUI 布局管理方式详解 Java 中的 GUI 布局管理是指在图形用户界面中对组件的排列和布局方式。合理的布局管理可以使得用户界面更加美观、易用和高效。在 Java 中,提供了多种布局管理方式,每种方式都有其特点...
ButtonGroup 控件需要 Ben Tordoff 和 David 的 GUI 布局工具箱桑普森可在: http://www.mathworks.com/matlabcentral/fileexchange/27758-gui-layout-toolbox 此提交中的控件应放置在 GUI 布局工具箱中的 +uiextras...
总之,Java GUI中的布局管理器是构建用户界面的关键工具,它们简化了组件定位和大小调整的过程,使得开发者能够更加专注于应用的功能实现而不是繁琐的界面布局工作。理解并熟练掌握这些布局管理器,能够帮助开发者...
java写记事本 得失焦点 QQ登陆框 布局练习 计算器 keyListener
Java GUI(图形用户界面)是Java编程中一个重要的部分,用于创建美观且用户友好的应用程序。在Java中,GUI的设计和...在学习和实践中,可以参考博客文章、官方文档或者在线教程,不断加深对Java GUI布局管理器的理解。
提供的类可以组合使用以生成几乎任何用户界面布局。 * 水平、垂直或网格排列 MATLAB 用户界面组件 * 混合固定尺寸和可变尺寸的组件 * 通过拖动分隔线以交互方式调整组件大小 * 使用选项卡和面板显示和隐藏组件 * 在...
本文将详细讨论如何使用Python的Tkinter库进行GUI布局尺寸的适配,以确保应用程序在不同屏幕分辨率和大小上都能正常显示。我们将通过分析给定的代码片段来探讨关键的布局管理器和方法。 首先,导入Tkinter库,它是...
Java GUI 布局管理方式 Java GUI 布局管理方式是 Java 编程语言中的一种重要概念,用于控制 GUI 组件在容器中的排列方式。在 Java 中,GUI 组件的布局是由容器的布局管理器 (Layout Manager) 来决定的。每个容器都...
ButtonGroup 控件需要 Ben Tordoff 和 David 的 GUI 布局工具箱桑普森可在: http://www.mathworks.com/matlabcentral/fileexchange/47982-gui-layout-toolbox 此提交中的控件应放置在 GUI 布局工具箱中的 +uix ...
用于排课的matlab代码GUI布局工具箱2 该工具箱提供了创建复杂的MATLAB图形用户界面并适当调整大小的工具。 所提供的类可以组合使用,以生成几乎任何用户界面布局。 水平,垂直或网格排列MATLAB用户界面组件 混合固定...
标签“design”强调了这一点,它可能意味着这个框架包含了一些设计工具,比如拖放式界面构建器,可以帮助开发者直观地创建和调整GUI布局。标签“xml”则进一步确认了配置界面元素是通过XML文件完成的。 在提供的...
在"picturecrop.fig"文件中,这可能是已经设计好的GUI布局,包含了图像显示组件(如 axes 或 uipanel)以及用于定义矩形选择的鼠标操作组件。这个图形界面可能有一个图像显示区域,用户可以通过拖动鼠标来确定要剪切...