VE设计#2表现层:listPanelb

在myeclipse环境下,用我上一篇所说的new一个panel组件,取名为listPanel。这个面板是用来显示我们一进程序的界面。将此面板加到JFrame中显示。然后利用界面传参技术,将AddressApp(JFrame)作为一个参数mianFrame传入listPanel来实现调度。

作为ui层我们要显示的话就要用Jlist来调用逻辑层来显示数据。这里我们用Myset来做逻辑层。所以Myset中就有一个getAll()函数来返回一个数组用来构建list。其次我们还要添加转向其他面板的按钮,效果图如下所示:


具体实现代码如下:

/*
 * listPanel.java
 *
 * Created on __DATE__, __TIME__
 */

package cn.hncu.ui;

import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

import cn.hncu.busines.Myset;

/**
 *
 * @author  __USER__
 */
public class listPanel extends javax.swing.JPanel {
	private JFrame mainFrame = null;

	/** Creates new form listPanel */
	public listPanel(JFrame mainFrame) {
		this.mainFrame = mainFrame;

		initComponents();

		myInitComponents();

		this.setOpaque(false);
		Icon bjImage = new ImageIcon("./image/beijing.jpg");
		JLabel bglbl = new JLabel(bjImage);
		this.add(bglbl, new Integer(Integer.MIN_VALUE));
		bglbl.setBounds(0, 0, bjImage.getIconWidth(), bjImage.getIconHeight());
		this.validate();
	}
	public listPanel(JFrame mainFrame,Object[] objs) {
		this.mainFrame = mainFrame;
		
		initComponents();

		listAddress.setListData(objs);

		this.setOpaque(false);
		Icon bjImage = new ImageIcon("./image/beijing.jpg");
		JLabel bglbl = new JLabel(bjImage);
		this.add(bglbl, new Integer(Integer.MIN_VALUE));
		bglbl.setBounds(0, 0, bjImage.getIconWidth(), bjImage.getIconHeight());
		this.validate();
	}
	

	private void myInitComponents() {

		Myset set = new Myset();
		Object objs[] = set.getAll();
		listAddress.setListData(objs);

	}

	/** This method is called from within the constructor to
	 * initialize the form.
	 * WARNING: Do NOT modify this code. The content of this method is
	 * always regenerated by the Form Editor.
	 */
	//GEN-BEGIN:initComponents
	// <editor-fold defaultstate="collapsed" desc="Generated Code">
	private void initComponents() {

		jLabel1 = new javax.swing.JLabel();
		btnAdd = new javax.swing.JButton();
		btnUpdate = new javax.swing.JButton();
		btnDelete = new javax.swing.JButton();
		jScrollPane1 = new javax.swing.JScrollPane();
		listAddress = new javax.swing.JList();
		btnQuery = new javax.swing.JButton();

		setMinimumSize(new java.awt.Dimension(800, 600));
		setPreferredSize(new java.awt.Dimension(800, 600));
		setLayout(null);

		jLabel1.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 36));
		jLabel1.setForeground(new java.awt.Color(0, 255, 255));
		jLabel1.setText("\u5730\u5740APP");
		add(jLabel1);
		jLabel1.setBounds(300, 40, 160, 47);

		btnAdd.setBackground(new java.awt.Color(153, 153, 255));
		btnAdd.setFont(new java.awt.Font("Microsoft YaHei UI", 2, 36));
		btnAdd.setForeground(new java.awt.Color(51, 51, 255));
		btnAdd.setText("add...");
		btnAdd.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent evt) {
				btnAddActionPerformed(evt);
			}
		});
		add(btnAdd);
		btnAdd.setBounds(130, 370, 190, 60);

		btnUpdate.setBackground(new java.awt.Color(255, 102, 153));
		btnUpdate.setFont(new java.awt.Font("Microsoft YaHei UI", 2, 36));
		btnUpdate.setForeground(new java.awt.Color(204, 204, 255));
		btnUpdate.setText("update...");
		btnUpdate.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent evt) {
				btnUpdateActionPerformed(evt);
			}
		});
		add(btnUpdate);
		btnUpdate.setBounds(440, 370, 210, 60);

		btnDelete.setBackground(new java.awt.Color(255, 0, 51));
		btnDelete.setFont(new java.awt.Font("Microsoft YaHei UI", 2, 24));
		btnDelete.setForeground(new java.awt.Color(255, 51, 255));
		btnDelete.setText("Delete...");
		btnDelete.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent evt) {
				btnDeleteActionPerformed(evt);
			}
		});
		add(btnDelete);
		btnDelete.setBounds(130, 460, 180, 50);

		listAddress.setModel(new javax.swing.AbstractListModel() {
			String[] strings = { "" };

			public int getSize() {
				return strings.length;
			}

			public Object getElementAt(int i) {
				return strings[i];
			}
		});
		jScrollPane1.setViewportView(listAddress);

		add(jScrollPane1);
		jScrollPane1.setBounds(140, 140, 460, 210);

		btnQuery.setFont(new java.awt.Font("Microsoft YaHei UI", 3, 24));
		btnQuery.setForeground(new java.awt.Color(0, 153, 255));
		btnQuery.setText("\u8f6c\u5230\u67e5\u8be2...");
		btnQuery.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent evt) {
				btnQueryActionPerformed(evt);
			}
		});
		add(btnQuery);
		btnQuery.setBounds(440, 460, 200, 50);
	}// </editor-fold>
	//GEN-END:initComponents

	private void btnQueryActionPerformed(java.awt.event.ActionEvent evt) {
		mainFrame.setContentPane(new QueryPanel(mainFrame));
		mainFrame.validate();
	}

	//	private JList<Object> getListAddress() {
	//		if(listAddress==null){
	//			listAddress=new JList<Object>();
	//		}
	//		Myset set=new Myset();
	//		Object objs[]=set.getAll();
	//		listAddress.setListData(objs);
	//		return listAddress;
	//	}

	private void btnUpdateActionPerformed(java.awt.event.ActionEvent evt) {
		String updateStr = (String) listAddress.getSelectedValue();
		
		if(updateStr!=null){
			mainFrame.setContentPane(new updatePanel(mainFrame, updateStr));
			//mainJrame.setContentPane(new updatePanel(mainJrame,updateStr,index));
			mainFrame.validate();
		}else{
			JOptionPane.showMessageDialog(this, "请添加联系人");
			mainFrame.setContentPane(new addJpanel(mainFrame));
			mainFrame.validate();
		}
	}

	private void btnDeleteActionPerformed(java.awt.event.ActionEvent evt) {
		String deleteStr = (String) listAddress.getSelectedValue();
		if(deleteStr!=null){
			mainFrame.setContentPane(new deleteJpanel(mainFrame, deleteStr));
			mainFrame.validate();
		}else{
			JOptionPane.showMessageDialog(this, "无联系人,请添加");
			mainFrame.setContentPane(new addJpanel(mainFrame));
			mainFrame.validate();
		}
	}

	private void btnAddActionPerformed(java.awt.event.ActionEvent evt) {
		mainFrame.setContentPane(new addJpanel(mainFrame));
		mainFrame.validate();
	}

	//GEN-BEGIN:variables
	// Variables declaration - do not modify
	private javax.swing.JButton btnAdd;
	private javax.swing.JButton btnDelete;
	private javax.swing.JButton btnQuery;
	private javax.swing.JButton btnUpdate;
	private javax.swing.JLabel jLabel1;
	private javax.swing.JScrollPane jScrollPane1;
	private javax.swing.JList listAddress;
	// End of variables declaration//GEN-END:variables

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值