精华内容
下载资源
问答
  • java表格布局
    2021-03-14 01:01:51

    java swing中在jTable中添加多个复选框的方式如下:

    import java.awt.Component;

    import java.awt.event.ActionEvent;

    import java.awt.event.ActionListener;

    import javax.swing.*;

    import javax.swing.table.*;

    public class MyFirstJFrame extends JFrame {

    // 作为测试的main方法

    public static void main(String[] args) {

    new MyFirstJFrame().setVisible(true);

    }

    /**

    * 构造方法

    */

    public MyFirstJFrame() {

    InitialComponent();

    }

    /**

    * 初始化组件的方法

    */

    private void InitialComponent(){

    // 设置窗体参数

    // 设置布局模式

    setLayout(null);

    // 设置窗体大小

    setSize(480, 360);

    // 设置窗体居中(非常规方法)

    setLocationRelativeTo(null);

    // 关闭窗体退出程序

    setDefaultCloseOperation(DISPOSE_ON_CLOSE);

    // 初始化面板

    panel = new JPanel();

    panel.setSize(this.getWidth(), this.getHeight());

    panel.setLocation(0,0);

    panel.setLayout(null);

    // 初始化表格

    table = new JTable(new DefaultTableModel(new Object[][]{{"第一行"},{"第二行"},{"第三行"},{"第四行"}}, new String[]{"测试行1","测试行2"}){

    /* (non-Javadoc)

    * 重写方法,判断表单元格是否可编辑

    * 可以通过row和column索引判断某一个单元格是否可编辑

    * 此处设为都不可编辑

    * @see javax.swing.table.DefaultTableModel#isCellEditable(int, int)

    */

    @Override

    public boolean isCellEditable(int row, int column) {

    return false;

    }

    });

    // 开始向表格中添加复选框(注意:此示例较为简单,缺省很多判断,也没有动态代码支持)

    // 通过设置列渲染

    // 方法一:直接方式 使用TableColumn的setCellRenderer方法(推荐)

    // 此方法可以设置某一列的渲染(即使用某一个组件--即控件来显示单元格数据)

    table.getColumnModel().getColumn(1).setCellRenderer(new TableCellRenderer(){

    /*(non-Javadoc)

    * 此方法用于向方法调用者返回某一单元格的渲染器(即显示数据的组建--或控件)

    * 可以为JCheckBox JComboBox JTextArea 等

    * @see javax.swing.table.TableCellRenderer#getTableCellRendererComponent(javax.swing.JTable, java.lang.Object, boolean, boolean, int, int)

    */

    @Override

    public Component getTableCellRendererComponent(JTable table,

    Object value, boolean isSelected, boolean hasFocus,

    int row, int column) {

    // 创建用于返回的渲染组件

    JCheckBox ck = new JCheckBox();

    // 使具有焦点的行对应的复选框选中

    ck.setSelected(isSelected);

    // 设置单选box.setSelected(hasFocus);

    // 使复选框在单元格内居中显示

    ck.setHorizontalAlignment((int) 0.5f);

    return ck;

    }});

    // 方法二:先设置列编辑器,然后设置单元格渲染

    // 设置列编辑器

    // 在以复选框为对象设置列编辑器时,必须保证该列能够被编辑,否则无法更改状态

    // (此步骤可以省略,省略时不要忘记将列设为不可编辑)

    // table.getColumnModel().getColumn(1).setCellEditor(new DefaultCellEditor(new JCheckBox()));

    // 设置单元格渲染(这里是设置表格级别的渲染)

    /*table.setDefaultRenderer(Object.class, new TableCellRenderer(){

    @Override

    public Component getTableCellRendererComponent(JTable table,

    Object value, boolean isSelected, boolean hasFocus,

    int row, int column) {

    // 判断是否为需要渲染的列

    if(column == 1){

    // 和方法一基本一致

    JCheckBox box = new JCheckBox();

    box.setSelected(isSelected);

    // 设置单选box.setSelected(hasFocus);

    box.setHorizontalAlignment((int) CENTER_ALIGNMENT); // 0.5f

    return box;

    }

    // 如果不是需要渲染的列,封装文本域显示数据

    return new JTextArea(value.toString());

    }});*/

    // 在多选是需要按住Ctrl键或者鼠标按住拖过连续的需要选中的行,应该给用户说明

    // 第一种方法是被推荐的,因为它具有选中的高亮显示,界面能更加友好

    table.setSize(panel.getWidth(),panel.getHeight() - 90);

    table.setLocation(0, 0);

    btn = new JButton("Test");

    btn.setSize(80,40);

    btn.setLocation((panel.getWidth()) / 2 - 40, panel.getHeight() - 80);

    // 按钮点击时显示当前选中项

    btn.addActionListener(new ActionListener(){

    @Override

    public void actionPerformed(ActionEvent e) {

    for(int rowindex : table.getSelectedRows()){

    JOptionPane.showMessageDialog(null, rowindex + " " + table.getValueAt(rowindex, 0));

    }

    }});

    panel.add(table);

    panel.add(btn);

    this.add(panel);

    }

    // 定义一些必要的组件

    private JPanel panel;

    private JTable table;

    private JButton btn;

    }

    更多相关内容
  • javaGUI--表格布局

    2021-08-29 11:44:00
    效果 ... import java.awt.*; public class TestGridLayOut... // 表格布局 public static void main(String[] args) { Frame frame = new Frame("GridLayOut"); frame.setVisible(true); // 按钮组件 Button but

    效果

    在这里插入图片描述

    package cn.usts.edu.lesson01;
    
    import java.awt.*;
    
    public class TestGridLayOut {
        // 表格布局
        public static void main(String[] args) {
            Frame frame = new Frame("GridLayOut");
            frame.setVisible(true);
    
            // 按钮组件
            Button button1 = new Button("button1");
            Button button2 = new Button("button2");
            Button button3 = new Button("button3");
            Button button4 = new Button("button4");
            Button button5 = new Button("button5");
            Button button6 = new Button("button6");
    
            // 设置布局形式为表格布局
            frame.setLayout(new GridLayout(2,3));
    
            frame.add(button1);
            frame.add(button2);
            frame.add(button3);
            frame.add(button4);
            frame.add(button5);
            frame.add(button6);
    
            // 自动调整为合适大小
            frame.pack();
        }
    }
    
    
    展开全文
  • 1. 流式布局(FlowLayout)定义:通俗地说,流式布局就是根据窗口大小,自动改变窗口内组件的位置。例如:原窗口大小一行可以容纳10个BUTTON,但将窗口缩小后,每行仅能容纳5个BUTTON,此时原先的10个BUTTON中的五个就...

    1. 流式布局(FlowLayout)

    定义:

    通俗地说,流式布局就是根据窗口大小,自动改变窗口内组件的位置。例如:原窗口大小一行可以容纳10个BUTTON,但将窗口缩小后,每行仅能容纳5个BUTTON,此时原先的10个BUTTON中的五个就会自动排列到下一行。

    示例:(省略panel的使用)

    Hashset

    package 布局管理;

    import java.awt.*;

    import java.awt.event.WindowAdapter;

    import java.awt.event.WindowEvent;

    public class Layout { //流式布局

    public static void main(String[] args) {

    Frame frame = new Frame(); //创建一个窗口

    frame.setLayout(new FlowLayout(FlowLayout.LEFT)); //将窗口布局设置为流式布局,并设置向左对齐

    Button button1 = new Button("button1"); //创建若干个按钮

    Button button2 = new Button("button2");

    Button button3 = new Button("button3");

    Button button4 = new Button("button4");

    Button button5 = new Button("button5");

    frame.add(button1); //将按钮添加进窗口中

    frame.add(button2);

    frame.add(button3);

    frame.add(button4);

    frame.add(button5);

    frame.setBounds(200,200,500,500); //设置窗口的位置与大小

    frame.setVisible(true); //设置窗口可见性

    frame.addWindowListener(new WindowAdapter() { //事件监听:关闭窗口

    @Override

    public void windowClosing(WindowEvent e) {

    System.exit(0);

    }

    });

    }

    }

    2. 东西南北中布局(BorderLayout)

    定义:

    东西南北中布局,顾名思义。将窗口分为东西南北中四个“块儿”,也可以称作上下左右中布局,便于理解。

    示例:(省略panel的使用)

    package 布局管理;

    import java.awt.*;

    import java.awt.event.WindowAdapter;

    import java.awt.event.WindowEvent;

    public class BorderLayout { //东西南北中布局

    public static void main(String[] args) {

    Frame frame = new Frame();

    frame.setLayout(new java.awt.BorderLayout());

    Button east = new Button("East");

    east.setBackground(new Color(140, 172, 51));

    Button west = new Button("West");

    west.setBackground(new Color(140, 172, 51));

    Button north = new Button("North");

    north.setBackground(new Color(38, 222, 135));

    Button south = new Button("South");

    south.setBackground(new Color(38, 222, 135));

    Button center = new Button("Center");

    frame.add(east, java.awt.BorderLayout.EAST);

    frame.add(west, java.awt.BorderLayout.WEST);

    frame.add(north, java.awt.BorderLayout.NORTH);

    frame.add(south, java.awt.BorderLayout.SOUTH);

    frame.add(center, java.awt.BorderLayout.CENTER);

    frame.setBounds(200,200,500,500);

    frame.setVisible(true);

    frame.addWindowListener(new WindowAdapter() {

    @Override

    public void windowClosing(WindowEvent e) {

    System.exit(0);

    }

    });

    }

    }

    3. 表格式布局

    定义:

    将窗口拆分为若干个表格(拆分为自己需要的表格),再往里添加组件。

    示例:

    GUI经常使用的“登录”、“注册”界面

    package 布局管理;

    import javafx.scene.control.PasswordField;

    import javafx.scene.layout.Pane;

    import sun.security.util.Password;

    import java.awt.*;

    import java.awt.event.WindowAdapter;

    import java.awt.event.WindowEvent;

    import java.nio.charset.Charset;

    public class GridLayout {

    public static void main(String[] args) {

    // System.out.println("file.encoding=" + System.getProperties().getProperty("file.encoding"));

    // System.out.println("默认是:"+ Charset.defaultCharset().name());

    Frame frame = new Frame("表格布局");

    frame.setLayout(new java.awt.GridLayout(4,1)); //设置行列数

    Panel panel1 = new Panel();

    frame.add(panel1);

    Panel panel2 = new Panel();

    frame.add(panel2);

    Panel panel3 = new Panel();

    frame.add(panel3);

    Panel panel4 = new Panel();

    frame.add(panel4);

    Label label = new Label("welcome to *** system");

    label.setFont(new Font("宋体", Font.PLAIN, 26));

    Label label1 = new Label("Account: ");

    TextField textField = new TextField();

    textField.setColumns(20);

    Label label2 = new Label("Password: ");

    TextField textField1 = new TextField(); //AWT没有passwordField

    textField1.setColumns(20);

    textField1.setEchoChar('*');

    Button button = new Button("Login");

    panel1.add(label);

    panel2.add(label1);

    panel2.add(textField);

    panel3.add(label2);

    panel3.add(textField1);

    panel4.add(button);

    frame.setBounds(200,200,500,250);

    frame.setVisible(true);

    frame.addWindowListener(new WindowAdapter() {

    @Override

    public void windowClosing(WindowEvent e) {

    System.exit(0);

    }

    });

    }

    }

    4. 我不要布局!!!当设置 frame.setLayout(null) ;时,可以使用给panel设置坐标的方式控制布局,更具灵活性!

    package AWT;

    import javafx.scene.layout.Pane;

    import java.awt.*;

    import java.awt.event.WindowAdapter;

    import java.awt.event.WindowEvent;

    import java.awt.event.WindowListener;

    public class panel {

    public static void main(String[] args) {

    Frame frame = new Frame(); //new一个窗口出来

    Panel panel = new Panel(); //new一个面板

    Panel panel1 = new Panel(); //new一个面板

    Panel panel2 = new Panel(); //new一个面板

    frame.setLayout(null); //设置布局为空

    frame.setBounds(200,200,500,500); //设置窗口位置大小

    panel.setBounds(20,15,460,50); //设置第一个面板

    panel.setBackground(new Color(253, 228,1)); //设置面板颜色

    panel1.setBounds(20,70,100,415);

    panel1.setBackground(new Color(0, 71, 254));

    panel2.setBounds(130,70,350,415);

    panel2.setBackground(new Color(1,1,1));

    frame.add(panel); //面板加入到窗口中

    frame.add(panel1);

    frame.add(panel2);

    frame.setVisible(true);

    frame.addWindowListener(new WindowAdapter() {

    @Override

    public void windowClosing(WindowEvent e) {

    System.exit(0);

    }

    }); {

    }

    }

    }

    5. 我都要!!!

    为了使界面更加美观,可以使用多种布局的嵌套哦!

    以上就是五种JAVA GUI布局管理的方式的详细内容,更多关于JAVA GUI布局的资料请关注脚本之家其它相关文章!

    展开全文
  • 表格布局是按照表格的样式来放置按钮,如下:package com.fepc.commons.exports;import java.awt.Dimension;import java.awt.GridLayout;import javax.swing.JButton;import javax.swing.JDialog;public class ...

    表格布局是按照表格的样式来放置按钮,如下:

    package com.fepc.commons.exports;

    import java.awt.Dimension;

    import java.awt.GridLayout;

    import javax.swing.JButton;

    import javax.swing.JDialog;

    public class SwingTest extends JDialog{

    public SwingTest(){

    this.setLayout(new GridLayout(3,3)); /*设置布局,三行三列*/

    this.setPreferredSize(new Dimension(380, 300));//设置大小

    this.setTitle("表格布局");

    this.setVisible(true);//设置dialog显示

    this.pack();

    JButton but1=new JButton("button1");

    JButton but2=new JButton("button2");

    JButton but3=new JButton("button3");

    JButton but4=new JButton("button4");

    JButton but5=new JButton("button5");

    JButton but6=new JButton("button6");

    JButton but7=new JButton("button7");

    add(but1);

    add(but2);

    add(but3);

    add(but4);

    add(but5);

    add(but6);

    add(but7);

    }

    public static void main(String[] args) {

    new SwingTest();

    }

    }

    显示如下:

    ed4b59d4b9e94c3ba96dd1bdf49ff370.png

    展开全文
  • Tablelayout类以行和列的形式对控件进行管理,每一行为一个TableRow对象,或一个View控件。当为TableRow对象时,可在TableRow下添加子控件,默认情况下,每个子... java的swing编程和html中经常会使用到表格,可见表
  • 实验中只需要编写相应的xml的代码,java代码不需要更改,因为我们这里只是练习android的界面设计。线性布局:线性布局就是将各种控件按照行或者列依次进行排列。其中本实验用到的各控件的属性解释如下:android:...
  • DIV 实现表格布局

    2009-08-14 10:18:18
    不用到table标签也能实现 table功能。
  • 显示在第一列android:layout -column=“1” 整列拉伸 在Table layout下面加android:stretch Columns =“列数”
  • 展开全部空布局,绝对定位,需要在代码中设置组件的位置和大小。importjavax.swing.JFrame;importjavax.swing.JPanel;importjavax.swing.JScrollPane;importjavax.swing.JTable;importjavax.swing.SwingUtilities;...
  • 布局Layouts之TableLayout表格布局

    千次阅读 2015-10-26 11:00:14
    TableLayout表格布局  TableLayout是指将子元素的位置分配到行或列中。Android的一个TableLayout有许多TableRow组成,每一个TableRow都会定义一个Row。TableLayout容器不会显示Row,Column,及Cell的边框线,每...
  • 二、java-表格布局(GridLayout)

    千次阅读 2018-10-14 16:43:53
    GridLayout表格布局,非常容易理解,就是将窗体打上几行几列的格子,然后往里面放东西。 package task; import java.awt.*; import javax.swing.JButton; import javax.swing.JFrame; public class MyButton{ ...
  • 登录界面是图形编程、网页编程的一个经典而又基础的...这个程序利用到安卓中的表格布局。 先打开res/values/strings.xml中定义几个字符串。之所以不直接把字符串直接写在activity_main.xml的组件中,是因为免得Eclip
  • 流式布局 import java.awt.*; public class TestFlowLayout { public static void main(String[] args) { Frame frame=new Frame(); //组件--按钮 Button button1=new Button("按钮1"); Button button2=new ...
  • java POI 单元格格式设置居中

    千次阅读 2021-03-06 01:24:40
    // 创建工作表 // 产生表格标题行 HSSFRow rowm = sheet.createRow(0); HSSFCell cellTiltle = rowm.createCell(0); //sheet样式定义【getColumnTopStyle()/getStyle()均为自定义方法 - 在下面 - 可扩展】 ...
  • 表格水平垂直居中

    2021-03-12 23:19:56
    IDC导航机房1网易 网易,在杭州新浪 新浪,网上冲浪雅虎 台湾人开创机房2网易 网易,在杭州新浪 新浪,网上冲浪雅虎 台湾人开创机房3网易 网易,在杭州新浪 新浪,网上冲浪雅虎 台湾人开创机房4网易 网易,在杭州...
  • java绝对布局

    2021-03-03 11:38:56
    JAVA 程序设计习题集 程序设计习题集第一章 1、动手完成 Java 开发包的安装,...类 Panel 默认的布局管理器是___。 A. GridLayout B. BorderLayout C. FlowLayout D. GardLayout 正确答案: 4. Javajava.awt 和___...
  • java窗体布局

    2021-02-12 10:53:16
    实现窗口有好种方式一是直接在代码里面创建窗口再进行...import java.util.concurrent.*;public class HelloLabel{public static void main(String[] args) throws Exception{JFrame frame=new JFrame("Hello Swing"...
  • 表格布局精髓表格布局(TableLayout)是将页面划分成由行和列构成的单元格,由根元素TableLayout来标识。表格的行由TableRow来定义。由android:layout_column来指定列序号。布局步骤创建新Project点进Project—>...
  • 1为利用JTextField文本框输入姓名地址信息,利用按钮打印到JTextArea上 2为复制第一个文本框内容至第二个文本框 两个文件有助于初学者熟悉BorderLayout布局,JPanel的设置,以及按钮添加点击事件的基本操作。
  • Java创建表格实例详解

    2021-02-12 08:55:12
    表格是最常用的数据统计形式之一,在 swing 中 由 JTable 类实现表格。接下来,我们看看怎么利用 JTable 创建表格。在 JTable 类中除了默认的构造方法外,还提供了利用指定表格列名数组和表格数据数组创建表格的构造...
  • java swing表格JTable

    2014-08-20 07:21:59
    JTabel的一些方法,表格的设置,按钮的添加,界面的布局,只是一些简单的小玩意
  • java最强大的表格控件

    2021-03-21 10:12:40
    表格控件设计中,表格控件的数据源可以是 A) 查询 B) 表C) SQL语句 ...可编辑的 HTML JavaScri... 11页 1下载券 Web表格...泰州电信案例泰州电信内部正是由于上述反应不及时的问题,业务支撑部采用了 FineReportjava...
  • 很多初学者在用Java布局器自动布局画界面时,经常遇见不知道如何定义区域大小或按钮之间的距离等问题。我写过一篇《实现JAVA手动布局中各个组件能随窗口变化的方法》的文章,有读者反映算坐标不好算,问能不能用布局...
  • 同构键盘是一个古老的概念,有些布局已有一个多世纪的历史(Janko、Wicki-Hayden)。 Hexano 不仅旨在将同构键盘概念传递到 Android 平台,而且还致力于为您提供符合人体工程学的工具,让您充分利用这些令人惊叹的...
  • HTML 页面源代码布局介绍 此介绍以google首页源代码截图为例: 从上到下依次介绍: <!DOCTYPE html> 此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。  XHTML规范:必须小写,有开始结束标签,属性也用双...
  • java布局管理有哪些?详细展示

    千次阅读 2021-02-12 22:05:33
    今天再为大家介绍一些相关知识,也就是java布局管理有哪些,并且通过详细的图片为大家展示。首先我们需要了解的是,java为我们提供了几个常用的布局管理器类,比如说:FlowLayout、BorderLayout、GridLayout、...
  • Java——GUI——布局

    2021-11-21 16:39:09
    Java语言GUI图形用户界面中,提供了三种布局(还有空布局),来完成图形用户界面布局,复杂的布局都是利用三种布局相互嵌套来完成。 流式布局 东南西北中布局 网格布局 1、流式布局 流式布局默认组件都是以居中...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 41,979
精华内容 16,791
关键字:

java 表格布局

java 订阅