import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Vector;
import javax.swing.table.DefaultTableModel;
/**
* 該示例使用
* 邊界布局(BorderLayout:分為東南西北中,第個地方只能放置一個組件)
* 為背景, 然后是各個布局塊內再分別使用
* 流布局(FlowLayout:典型的用于按鈕布局,從水平方向放置,當不能夠擺放更多的時候,就自動換動)
* 網格布局(GridLayout:將面板分成大小相等的格子,如:setLayout(new GridLayout(3,2));就是將
* 其分成三行兩列的形式存放元件)
*/
public class LayoutExample
extends JFrame
{
BorderLayout borderLayout1 = new BorderLayout();
JPanel jPanel1 = new JPanel();
JPanel jPanel2 = new JPanel();
JPanel jPanel3 = new JPanel();
JLabel jLabel1 = new JLabel();
JTextField jTextField1 = new JTextField();
JButton jButton1 = new JButton();
FlowLayout flowLayout1 = new FlowLayout();
FlowLayout flowLayout2 = new FlowLayout();
JButton jButton2 = new JButton();
JButton jButton3 = new JButton();
JButton jButton4 = new JButton();
GridLayout gridLayout1 = new GridLayout();
JScrollPane jScrollPane1 = new JScrollPane();
JTable jTable1 = new JTable();
public LayoutExample()
{
try
{
jbInit();
}
catch (Exception e)
{
e.printStackTrace();
}
}
public static void main(String[] args)
{
try
{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch (Exception exemp)
{
exemp.printStackTrace();
}
LayoutExample frame1 = new LayoutExample();
frame1.setSize(new Dimension(400, 350));
frame1.setVisible(true);
}
private void jbInit()
throws Exception
{
this.getContentPane().setLayout(borderLayout1);
jPanel1.setBackground(Color.red);
jPanel1.setLayout(flowLayout1);
jPanel2.setBackground(Color.red);
jPanel2.setLayout(flowLayout2);
jPanel3.setBackground(Color.pink);
jPanel3.setLayout(gridLayout1);
jLabel1.setPreferredSize(new Dimension(100, 16));
jLabel1.setText("请输入查询条件");
jTextField1.setPreferredSize(new Dimension(140, 22));
jTextField1.setText("");
jButton1.setText("查询");
jButton1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
jButton1_actionPerformed(e);
}
});
flowLayout1.setAlignment(FlowLayout.LEFT);
flowLayout1.setHgap(5);
flowLayout1.setVgap(10);
jButton2.setText("增加");
jButton3.setText("删除");
jButton4.setText("修改");
flowLayout2.setHgap(30);
flowLayout2.setVgap(5);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.getContentPane().add(jPanel1, BorderLayout.NORTH);
jPanel1.add(jLabel1, null);
jPanel1.add(jTextField1, null);
jPanel1.add(jButton1, null);
this.getContentPane().add(jPanel2, BorderLayout.SOUTH);
jPanel2.add(jButton2, null);
jPanel2.add(jButton3, null);
jPanel2.add(jButton4, null);
this.getContentPane().add(jPanel3, BorderLayout.CENTER);
jPanel3.add(jScrollPane1, null);
jScrollPane1.getViewport().add(jTable1, null);
}
//模擬查詢數據庫
void jButton1_actionPerformed(ActionEvent e)
{
try
{ //制作表
Vector vcol = new Vector(); //列名
Vector vrow = new Vector(); //內容
for (int col = 1; col < 31; col++)
{
vcol.addElement("列" + col);
}
for (int row = 1; row < 101; row++)
{
Vector vr1 = new Vector();
for (int col = 1; col < 31; col++)
{
vr1.addElement(row + "/" + col);
}
vrow.addElement(vr1);
}
DefaultTableModel dtm = new DefaultTableModel(vrow, vcol);
jTable1 = new JTable(vrow, vcol);
jTable1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); //滚动条设置左右滚
this.jScrollPane1.getViewport().add(jTable1, null); //在滚动条中放入表
}
catch (Exception ex)
{
JOptionPane.showMessageDialog(null, ex);
}
}
}
分享到:
相关推荐
本资料“CSS布局16例”旨在帮助初学者掌握div+css布局的基础与实践,通过16个实例深入理解布局原理。以下将详细解析这些知识点: 1. **盒模型**:CSS中的元素被看作是具有边距、内边距、边框和内容的矩形盒子,理解...
另一种提到的布局是`border`布局,这是一种非常灵活的布局,适用于创建多区域的界面。在这个布局中,可以定义五个区域:north(北)、south(南)、east(东)、west(西)和center(中心)。每个区域可以包含自己的...
《CSS+DIV网页布局实例40例》是一个深入学习网页布局技术的重要资源,它涵盖了CSS(层叠样式表)和DIV元素在构建现代网页时的多种应用场景和技巧。本资源包含40个独立的实例,旨在帮助用户从实践中掌握网页布局的...
【CSS基本布局十六例详解】 在网页设计中,CSS(层叠样式表)扮演着至关重要的角色,它负责控制页面的布局和样式。本篇将详细介绍四种常见的CSS基本布局方式,帮助你理解如何构建单行单列和单行两列的布局。 1. **...
本资料“css页面布局40例”着重于通过实例来讲解如何利用CSS实现各种各样的页面布局。这40个例子将帮助你深入理解CSS在页面布局中的应用,从而提升你的前端开发技能。 1. **盒模型与边距**: CSS盒模型包括元素的...
这个“css+div网页布局实例40例”集合提供了一系列实战教程,帮助学习者掌握如何用CSS和div进行高效、灵活的网页设计。以下是对这些实例中的关键知识点的详细解释: 1. **CSS基础**:首先要理解CSS的基本语法,包括...
网站布局是CSS的核心应用之一,它涉及到如何组织网页元素,以创建出符合视觉设计和用户体验的页面结构。常见的布局模式有以下几种: 1. **流式布局**:流式布局使内容根据浏览器窗口大小自适应调整,常见于响应式...
其中,`R.layout.your_layout`是你要加载的布局资源ID,`parent`参数通常是你希望将新视图附加到的父视图(如一个`LinearLayout`),`false`表示不设置新视图为父视图的子节点。 接下来,动态加载布局后,我们可能...
基于轻应用的移动学习内容呈现模式研究——以“瀑布流”式布局体验为例 本研究论文主要探讨基于轻应用的移动学习内容呈现模式,特别是以“瀑布流”式布局体验为例。轻应用概念的出现,为我们高效、便捷、低成本地...
在Android开发中,布局管理器是构建用户界面的关键部分,其中`ConstraintLayout`是一个非常重要的布局工具,尤其在创建复杂的、响应式的用户界面时。本篇文章将深入解析`ConstraintLayout`的使用,帮助开发者充分...
本文以中国乾安县县城为例,采用定量研究手段,探讨了底层中心地的商业布局模式。通过对区域购物流模型和GIS热点分析工具的应用,研究发现县城商业布局存在两种基本模式:以区域购物流强度为表征的交通——职能布局...
以“携程旅游”为例,它作为一个全球知名的在线旅行服务提供商,其网站必须能够灵活地适应各种设备,包括桌面电脑、平板电脑以及智能手机。本文将深入探讨如何利用伸缩布局技术来构建携程旅游这样的多平台应用。 ...
在本例中,由于我们需要创建一个日历视图,可能最适合使用的布局管理器是GridLayout,因为它可以方便地将组件排列成网格状。 1. **FlowLayout**: 这是最简单的布局管理器,按照从左到右、从上到下的顺序添加组件。 ...
本例中涉及到了三种基本类型的布局:水平布局(Horizontal Layout)、垂直布局(Vertical Layout)以及表格布局(Grid Layout)。 1. 水平布局(QHBoxLayout) 水平布局将控件按照从左到右的顺序排列。这种布局适用...
例如,以一个24V转3.3V、3A的交换式稳压器为例,Webench可能会推荐LM25576这种高效率、42V输入的组件。在考虑效率和体积之间的平衡时,高开关频率虽然可以减小元器件的尺寸,但也会增加PCB布局的挑战。 在布局策略...
我们将以开源项目"Layout-to-Image, android布局(相对布局、线性布局等)到图像.zip"为例,详细讲解这个过程。 首先,我们关注的核心是XML布局文件。在Android中,开发者通常使用XML来定义用户界面的结构和样式。...
瀑布流布局,又称Masonry布局,是一种常见的网页布局方式,尤其在展示图片或者商品列表时非常流行。这种布局的特点是每个元素(如图片)在垂直方向上错落有致,像瀑布一样依次排列,而水平方向则保持整齐对齐。在本...
总的来说,"android学习第一例"将涵盖Android开发的基础知识,包括环境搭建、基本组件的理解和使用、界面布局的创建以及应用的运行调试。随着学习的深入,你将逐步掌握更多高级特性,如数据库操作、网络编程、多线程...
本书是一本讲述基于Web标准的应用CSS进行网站布局设计与重构的典范之作。 本书以实例为主,一步步地告诉大家如何进行符合Web 2.0标准的CSS布局设计。具备了知识全面、完美应用(CSS选择器、样式继承、层叠、格式...