`
天涯海角tour
  • 浏览: 174655 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

swing 管理器二

    博客分类:
  • java
阅读更多
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BorderFactory;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class GridBagLayoutFrame extends JFrame {
 private static final long serialVersionUID = 6819222900970457455L;
 private JPanel mainPanel = new JPanel();
 private JButton addButton = new JButton();
 private JButton leftButton = new JButton();
 private JButton rightButton = new JButton();
 private JLabel label = new JLabel();
 private JTextField field = new JTextField();
 private DefaultListModel leftModel = new DefaultListModel();
 private DefaultListModel rightMOdel = new DefaultListModel();
 private JList leftList = new JList(leftModel);
 private JList rightList = new JList(rightMOdel);

 public GridBagLayoutFrame(String title) {
  setTitle("GridBagLayoutFrameDemo");
  setPreferredSize(new Dimension(600, 400));
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  initComponent();
  addData();
  pack();
  setVisible(true);
 }

 private static void createAndShowGUI() {
  new GridBagLayoutFrame("GridBagLayoutFrameDemo");
 }

 private void initComponent() {

  label.setText("添加选项:");
  addButton.setText("添加");
  leftList.setPreferredSize(new Dimension(150, 150));
  rightList.setPreferredSize(leftList.getPreferredSize());
  leftButton.setText("左");
  rightButton.setText("右");
  mainPanel.setBorder(BorderFactory.createTitledBorder("左右选择框"));
  mainPanel.setLayout(new GridBagLayout());

  GridBagConstraints c = new GridBagConstraints();

  c.gridx = 0; // 0行0列
  c.gridy = 0;
  c.gridwidth = 1;
  c.gridheight = 1;
  c.fill = GridBagConstraints.HORIZONTAL;
  c.weightx = 0;
  c.weighty = 0;
  mainPanel.add(label, c);

  c.gridx++;
  c.weightx = 1;
  mainPanel.add(field, c);

  c.gridx++;
  c.weightx = 0;
  c.gridwidth = 1;
  c.gridheight = 1;
  // c.fill = GridBagConstraints.HORIZONTAL;
  mainPanel.add(addButton, c);

  c.gridx = 0;
  c.gridy = 1;
  c.weightx = 1;
  c.weighty = 1;
  c.gridwidth = 2;
  c.gridheight = 2;
  c.fill = GridBagConstraints.BOTH;
  mainPanel.add(leftList, c);

  c.gridx = 2;
  c.gridy = 1;
  c.gridwidth = 1;
  c.gridheight = 1;
  c.weightx = 0;
  c.weighty = 0.5;
  c.anchor = GridBagConstraints.SOUTH;
  c.fill = GridBagConstraints.HORIZONTAL;
  mainPanel.add(leftButton, c);

  c.gridx = 2;
  c.gridy = 2;
  c.anchor = GridBagConstraints.NORTH;
  c.fill = GridBagConstraints.HORIZONTAL;
  mainPanel.add(rightButton, c);

  c.gridx = 3;
  c.gridy = 1;
  c.gridwidth = 1;
  c.gridheight = 2;
  c.weightx = 1;
  c.weighty = 1;
  c.fill = GridBagConstraints.BOTH;
  mainPanel.add(rightList, c);

  this.getContentPane().add(mainPanel);
 }

 private void addData() {
  addButton.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent e) {
    addItem();
   }
  });

  leftButton.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent e) {
    leftItem();
   }
  });

  rightButton.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent e) {
    rightItem();
   }
  });
 }

 private void addItem() {
  if (field.getText() != null && !field.getText().equals("")) {
   ((DefaultListModel) leftList.getModel())
     .addElement(field.getText());
   field.setText("");
  }
 }

 private void leftItem() {
  if (rightList.getSelectedIndex() != -1) {
   Object o = rightList.getSelectedValue();
   ((DefaultListModel) rightList.getModel()).remove(rightList
     .getSelectedIndex());
   ((DefaultListModel) leftList.getModel()).addElement(o);
  }
 }

 private void rightItem() {
  if (leftList.getSelectedIndex() != -1) {
   Object o = leftList.getSelectedValue();
   ((DefaultListModel) leftList.getModel()).remove(leftList
     .getSelectedIndex());
   ((DefaultListModel) rightList.getModel()).addElement(o);
  }
 }

 public static void main(String[] args) {
  javax.swing.SwingUtilities.invokeLater(new Runnable() {
   public void run() {
    createAndShowGUI();
   }
  });
 }
}
分享到:
评论

相关推荐

    Swing布局管理器

    #### 二、AWT提供的布局管理器类型 AWT提供了五种基本类型的布局管理器,每一种都有其独特的特性和应用场景: 1. **BorderLayout**:这是一种非常常用的布局管理器,它将容器划分为五个区域:北、南、东、西和中心...

    java swing 苹果主题文件管理器

    基于java swing 开发的文件管理器: 采用苹果 ios 主题风格,支持环形进度条显示cpu利用率 GUI文件管理系统 1、实现文件夹创建、删除、进入。 2、实现当前文件夹下的内容罗列。 3、实现文件拷贝和文件夹拷贝...

    Java Swing布局管理器

    2. CardLayout 布局管理器 CardLayout 布局管理器将加入到容顺中的组件视为卡片栈,把每个组件放置在一个单独的卡片上,而每次只能看见一张卡片。 3. FlowLayout 布局管理器 FlowLayout 布局管理器将组件从左到右...

    基于 java swing 开发的资源管理器

    基于Java Swing开发的资源管理器允许用户以类似操作系统文件管理器的方式浏览、操作文件和目录。 在这个项目中,“基于 Java Swing 开发的资源管理器”很可能是一个独立的应用程序,它实现了文件和目录的浏览、创建...

    用swing制作的简单图书管理系统

    2. 读者管理:这部分主要是对读者信息进行管理,功能与用户管理类似,但可能包含更具体的信息,如借阅记录。Swing的组合框(JComboBox)可用于选择操作类型,文本组件(JTextField、JTextArea)用于输入或显示详细...

    Java Swing登录资源管理器

    Java Swing登录资源管理器是一款基于Java Swing开发的桌面应用程序,其设计目的是为了帮助用户管理和存储各种网站、论坛或博客的登录信息。Swing是Java的标准GUI(图形用户界面)库,它提供了丰富的组件和功能,使得...

    javaswing图书馆管理系统源代码+数据库模型

    javaswing图书馆管理系统源代码+数据库模型 确保系统具有良好的系统性能,友好的用户界面。 较高的处理效率,便于使用和维护。 采用成熟技术开发,使系统具有较高的技术水平和较长的生命周期。 系统尽可能...

    用Swing做的H2管理器

    标题中的“用Swing做的H2管理器”指的是一个基于Java Swing图形用户界面(GUI)开发的工具,用于管理和操作H2数据库。H2是一个开源、轻量级、多模式的数据库系统,常用于测试、原型设计或者小型应用程序。Swing是...

    宿舍管理系统java se swing

    Swing提供了丰富的组件和布局管理器,使得开发者能够灵活地构建出美观且功能齐全的界面。 系统的主要功能包括: 1. **宿舍管理**:支持宿舍的增删改操作,这需要后台数据库对宿舍信息进行存储和检索。例如,管理员...

    java swing管理系统源码 程序 代码 图形界面(11套).zip

    本压缩包包含了11套完整的Java Swing管理系统源码,这些源码对于学习和理解Java GUI编程具有很高的价值。下面我们将深入探讨Java Swing的核心概念、特性以及在开发管理系统中的应用。 1. **Java Swing基本组件** -...

    用Swing做的H2的管理器

    4. **数据库操作**:使用JDBC(Java Database Connectivity)接口,Swing管理器能够执行SQL语句,如SELECT、INSERT、UPDATE和DELETE,实现对H2数据库的基本操作。 5. **对话框和菜单**:Swing的JOptionPane和JMenu...

    基于java swing和mysql的超市管理系统

    (2) 订单管理:管理员可以对订单进行录入、修改、查询和删除等操作,包括订单号、商品名称、数量等信息。 (3) 库存管理:管理员可以对库存进行管理,包括库存数量、进货、出货等操作。 (4) 系统管理:管理员可以对...

    Java Swing 简单的员工管理系统

    在实现功能时,Java Swing使用事件监听器(ActionListener)来响应用户的操作。例如,当用户点击“添加员工”按钮时,对应的ActionListener会被触发,执行添加新员工的逻辑。这一过程可能涉及从界面组件获取用户输入...

    swing课程管理系统

    2. **事件处理**:Swing使用事件监听器来处理用户交互。例如,当用户点击一个按钮时,对应的ActionListener会被触发,执行相应的代码逻辑。开发者需要掌握如何添加和实现这些监听器。 3. **模型-视图-控制器(MVC)...

    酒店swing管理系统

    【酒店Swing管理系统】是一款基于Java Swing技术开发的软件,专为酒店行业的经营管理设计。Swing是Java标准库的一部分,提供了丰富的用户界面组件,用于构建桌面应用,它具有高度的可定制性和跨平台兼容性,使得该...

    Swing+oracle写的图书管理系统

    开发者通过自定义布局管理器和事件监听器,使得界面既符合用户习惯,又具有良好的响应性。 其次,Oracle是全球广泛使用的大型关系型数据库管理系统,以其强大的数据处理能力和稳定性著称。在这个图书管理系统中,...

    最全面的swing文本编辑器

    Swing 提供了几种布局管理器,如 `FlowLayout`, `BorderLayout`, `GridLayout` 和 `BoxLayout`,用于控制组件在容器中的排列方式。开发者可能根据需求选择合适的布局管理器,确保界面元素排列整齐美观。 8. **...

    java swing 图书管理系统+MySQL

    2. **事件处理**:Swing支持事件驱动编程,用户与UI组件的交互会触发特定的事件。例如,点击按钮时会触发ActionListener事件,系统需要定义监听器来响应这些事件并执行相应的操作,如查询数据库或更新图书信息。 3....

    swing学生管理系统.zip

    7. **用户界面**:Swing提供的组件如JButton、JLabel、JTable等用于构建用户界面,通过布局管理器(如BorderLayout、GridLayout、FlowLayout)可以灵活地组织这些组件,使得界面美观且易于操作。 8. **事件处理**:...

    java swing管理系统

    Java Swing管理系统是一款基于Java编程语言开发的用户界面应用程序,它主要利用Swing库来构建图形用户界面(GUI),适用于创建桌面应用系统,如信息管理、数据处理等。这个管理系统为初学者提供了一个学习和实践Java...

Global site tag (gtag.js) - Google Analytics