swing中几种layout示例(转)

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.TitledBorder;

public class test extends JFrame {
  public test() {
    super("Common Layout Managers");
    setSize(500, 380);

    JPanel desktop = new JPanel();
    getContentPane().add(desktop);

    JPanel fr1 = new JPanel();
    fr1.setBorder(new TitledBorder("FlowLayout"));
    fr1.setLayout(new FlowLayout());
    fr1.add(new JButton("1"));
    fr1.add(new JButton("2"));
    fr1.add(new JButton("3"));
    fr1.add(new JButton("4"));
    desktop.add(fr1, 0);

    JPanel fr2 = new JPanel();
    fr2.setBorder(new TitledBorder("GridLayout"));
    fr2.setLayout(new GridLayout(2, 2));
    fr2.add(new JButton("1"));
    fr2.add(new JButton("2"));
    fr2.add(new JButton("3"));
    fr2.add(new JButton("4"));
    desktop.add(fr2, 0);

    JPanel fr3 = new JPanel();
    fr3.setBorder(new TitledBorder("BorderLayout"));
    fr3.setLayout(new BorderLayout(1, 5));
    fr3.add(new JButton("1"), BorderLayout.NORTH);
    fr3.add(new JButton("2"), BorderLayout.EAST);
    fr3.add(new JButton("3"), BorderLayout.SOUTH);
    fr3.add(new JButton("4"), BorderLayout.WEST);
    fr3.add(new JButton("5"),BorderLayout.CENTER);
    desktop.add(fr3, 0);

    JPanel fr4 = new JPanel();
    fr4.setBorder(new TitledBorder("BoxLayout - X"));
    fr4.setLayout(new BoxLayout(fr4, BoxLayout.X_AXIS));
    fr4.add(new JButton("1"));
    fr4.add(Box.createHorizontalStrut(12));
    fr4.add(new JButton("2"));
    fr4.add(Box.createGlue());
    fr4.add(new JButton("3"));
    fr4.add(Box.createHorizontalGlue());
    fr4.add(new JButton("4"));
    desktop.add(fr4, 0);

    JPanel fr5 = new JPanel();
    fr5.setBorder(new TitledBorder("BoxLayout - Y"));
    fr5.setLayout(new BoxLayout(fr5, BoxLayout.Y_AXIS));
    fr5.add(new JButton("1"));
    fr5.add(Box.createVerticalStrut(10));
    fr5.add(new JButton("2"));
    fr5.add(Box.createGlue());
    fr5.add(new JButton("3"));
    fr5.add(Box.createVerticalGlue());
    fr5.add(new JButton("4"));
    desktop.add(fr5, 0);

    WindowListener wndCloser = new WindowAdapter() {
      public void windowClosing(WindowEvent e) {
        System.exit(0);
      }
    };
    addWindowListener(wndCloser);
    setVisible(true);
  }

  public static void main(String argv[]) {
    new test();
  }

}

 

http://blog.csdn.net/wanglixin1999/article/details/11576317

 

时间: 2024-08-31 02:34:30

swing中几种layout示例(转)的相关文章

Java Swing中两种设置背景图(容器图片)

在java swing中需要为容器添加图片,或者背景图片. 提供两种简单的解决方案,一种利用JPanel,另一种利用JLabel 1.JPanel(源代码) [java] view plaincopy package oo;      import java.awt.Graphics;   import java.awt.Image;   import java.io.File;      import javax.swing.ImageIcon;   import javax.swing.JF

关于Java Swing中的repaint()方法及setVisible()的问题

问题描述 关于Java Swing中的repaint()方法及setVisible()的问题 我写了一个JFrame, 加了一个JComponent,进行一些处理后使用removeAll()移除了JComponent中的所有组件,然后调用add(JPanel)添加了一个新的组件,最后调用repaint()方法显示这个JPanel 这时发现JPanel无法显示,但调整窗口大小后就能显示 因为调整窗口大小不是会自动调用repaint()方法吗?但是我自己调用了啊为什么不会显示嘞. 接下来, 我在re

可视化Swing中JTable控件绑定SQL数据源的两种方法深入解析

以下是对可视化Swing中JTable控件绑定SQL数据源的两种方法进行了详细的分析介绍,需要的朋友可以过来参考一下   在 MyEclipse 的可视化 Swing 中,有 JTable 控件. JTable 用来显示和编辑常规二维单元表. 那么,如何将 数据库SQL中的数据绑定至JTable中呢? 在这里,提供两种方法.JTable的构造方法通过查阅Java的API,可以可以得到JTable的两个重要的构造方法:JTable(Object[][] rowData, Object[] colu

java swing中实现拖拽功能示例_java

java实现拖拽示例 Swing中实现拖拽功能,代码很简单,都有注释,自己看,运行效果如下图: 复制代码 代码如下: package com; import java.awt.*;import java.awt.datatransfer.DataFlavor;import java.awt.dnd.DnDConstants;import java.awt.dnd.DropTarget;import java.awt.dnd.DropTargetAdapter;import java.awt.dn

可视化Swing中JTable控件绑定SQL数据源的两种方法深入解析_java

在 MyEclipse 的可视化 Swing 中,有 JTable 控件.JTable 用来显示和编辑常规二维单元表.那么,如何将 数据库SQL中的数据绑定至JTable中呢?在这里,提供两种方法.JTable的构造方法通过查阅Java的API,可以可以得到JTable的两个重要的构造方法:JTable(Object[][] rowData, Object[] columnNames)构造一个 JTable 来显示二维数组 rowData 中的值,其列名称为 columnNames.JTable

Java Swing中的JButton、JComboBox、JList和JColorChooser组件使用案例_java

Swing 的组件与AWT 组件相似,但又为每一个组件增添了新的方法,并提供了更多的高级组件. Swing 的基本组件: 1.按钮(JButton): Swing 中的按钮可以显示图像,并且可以将按钮设置为窗口的默认图标,而且还可以将多个图像指定给一个按钮. (1).JButton 常用的构造方法. JButton(String text):按钮上显示字符. JButton(Icon icon) :按钮上显示图标. JButton(String text, Icon icon):按钮上既显示图标

Swing中使用顶层容器

Swing提供3种顶层容器类:JFrame,JDialog,JApplet.当使用这三个类时,你必须注意以下几点: 1.为了显示在屏幕上,每个GUI组件必须是包含层次(containment hierarchy)的一部分.包含层次是组件的一个树型结构,最顶层的容器是它的根. 2.每个GUI组件只能被包含一次.如果一个组件已经在一个容器中,这时试图将它加入到一个新的容器,则这个组件会从第一个容器移除,并加入到第二个容器中. 3.每个顶层容器都有一个内容面板(content pane),一般情况下,

Swing中Timer定时器的使用

构造方法:Timer(int delay,ActionListener listener) 创建一个每 delay 毫秒将通知其侦听器的 Timer. Api的一段示例代码 int delay = 1000; //milliseconds ActionListener taskPerformer = new ActionListener() { public void actionPerformed(ActionEvent evt) { //...Perform a task... } }; n

Merlin的魔力: Swing中的声音

J2SE 版本 1.4 中新增了一项有趣的 Swing 功能.Swing 控件现在可以提供听觉反馈来对特定事件作出响应,不过缺省情况下这项功能是禁用的.新增的这项功能有助于 Swing 控件更好地模仿系统本地操作系统的控件的行为. 听觉基本知识 Swing 使用一种可插式外观和感觉(Pluggable Look-and-Feel,PLAF)体系结构.开发者不必针对不同组件为颜色和字体之类的设置进行硬编码:取而代之的是,组件将从用户界面管理器(User Interface(UI)Manager)请