六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 36|回复: 0

swing 管理器二

[复制链接]

升级  54.67%

34

主题

34

主题

34

主题

秀才

Rank: 2

积分
132
 楼主| 发表于 2013-1-26 14:20:02 | 显示全部楼层 |阅读模式
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();   }  }); }}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表