⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 auctionclient.java

📁 jdbc书
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package auction;

import java.io.*;
import javax.naming.*;
import javax.ejb.*;
import java.rmi.RemoteException;
import java.util.*;
import java.text.NumberFormat;
import bidder.*;
import registration.*;
import seller.*;
import search.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.event.*;
import java.awt.*;
import java.text.*;
import javax.swing.table.*;
import javax.swing.tree.*;


public class AuctionClient implements ActionListener{ 

//Change the standalone value to false if you want to
//run this program with your ejb server
    final static boolean standaloneMode=true;
    javax.naming.Context ctx=null;

    JMenuBar mb = new JMenuBar();
    JMenu file = new JMenu("File");
    JMenu reports = new JMenu("Reports");
    JMenuItem filePrint = new JMenuItem("Print");
    JSeparator separator = new JSeparator();
    JMenuItem fileQuit = new JMenuItem("Quit");
    JMenuItem itemList = new JMenuItem("List All Items");
    JMenuItem browseItems = new JMenuItem("Browse Items");
    JFrame frame=new JFrame();
    JViewport innerPort, headers;
    JScrollBar scrollBar;
    JScrollPane scrollPane;
    JTable fixedTable, scrollTable;
    TableColumnModel fixedColumnModel, scrollColumnModel;
    int rowHeight=64;
    JTree tree;
    DefaultMutableTreeNode[] nodes;
    JTextField findField;
    JPanel homePanel=null;
    JPanel browsePanel=null;
    JPanel scrollPanel=null;

    public AuctionClient() {

       if(!standaloneMode) {
        try {
           ctx = getInitialContext();
        } catch (Exception e) {
           System.out.println("error contacting EJB server"+e);
        }
      }

        /* Add menu items to menus */
       file.add(filePrint);
       file.add(separator);
       file.add(fileQuit);
       reports.add(itemList);
       reports.add(browseItems);
       mb.add(file);
       mb.add(reports);
       frame.setJMenuBar(mb);

       filePrint.addActionListener(this);
       fileQuit.addActionListener(this);
       itemList.addActionListener(this);
       browseItems.addActionListener(this);
       homePanel = new JPanel();
       homePanel.setLayout(new CardLayout());
       browsePanel = new JPanel();
       browsePanel.setLayout(new BorderLayout());
       scrollPanel = new JPanel();
       scrollPanel.setLayout(new BorderLayout());
       homePanel.add(scrollPanel, "List All Items");
       homePanel.add(browsePanel, "Browse Items");
       frame.getContentPane().add(homePanel, BorderLayout.CENTER);

       frame.setSize(200,100);
       frame.setVisible(true);
    }

    public void actionPerformed(ActionEvent evt) {
        Object obj = evt.getSource();

        if (obj == itemList) {
           try {
               listAllItems();
               ((CardLayout)homePanel.getLayout()).show(homePanel, 
		((JMenuItem)obj).getText());
           } catch (Exception e) {
              System.out.println("Exception: "+e);
           }
        } else if (obj == browseItems) {
           try {
               browseItems();
               ((CardLayout)homePanel.getLayout()).show(homePanel, 
		((JMenuItem)obj).getText());
           } catch (Exception e) {
              System.out.println("Exception: "+e);
           }
     
        } else if (obj == fileQuit) {
           frame.dispose();
           System.exit(0);
        }
    }

    static public javax.naming.Context getInitialContext() 
		throws Exception {
        Properties p = new Properties();
        p.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY,
          "weblogic.jndi.TengahInitialContextFactory");
        return new InitialContext(p);
    }

    private void listAllItems() throws IOException {

        ResultsModel rm=new ResultsModel();
        if(!standaloneMode) {
           try {
               BidderHome bhome=(BidderHome) ctx.lookup("bidder");
               Bidder bid=bhome.create();
               Enumeration enum=(Enumeration)bid.getItemList();
               if(enum != null) {
                  rm.update(enum);
               }
            } catch (Exception e) {
              System.out.println("AuctionServlet <list>:"+e);
            }
        } else {
        
           TestData td= new TestData();
           rm.update(td.results());
        }

        scrollTable=new JTable(rm);
        adjustColumnWidth(scrollTable.getColumn("End Date"), 150);
        scrollTable.setRowHeight(rowHeight);
        adjustColumnWidth(scrollTable.getColumn("Description"), 120);
        scrollColumnModel = scrollTable.getColumnModel();
        fixedColumnModel = new DefaultTableColumnModel();   

        TableColumn col = scrollColumnModel.getColumn(0);
        scrollColumnModel.removeColumn(col);
        fixedColumnModel.addColumn(col);           

        fixedTable = new JTable(rm,fixedColumnModel);    
        fixedTable.setRowHeight(scrollTable.getRowHeight());

        headers = new JViewport();

        ListSelectionModel fixedSelection = fixedTable.getSelectionModel(); 
        fixedSelection.addListSelectionListener(new ListSelectionListener() { 
            public void valueChanged(ListSelectionEvent e) { 
               ListSelectionModel lsm = (ListSelectionModel)e.getSource(); 
               if (!lsm.isSelectionEmpty())  { 
                  setScrollableRow();
               } 
            } 
        }); 

        ListSelectionModel scrollSelection = scrollTable.getSelectionModel(); 
        scrollSelection.addListSelectionListener(new ListSelectionListener() { 
            public void valueChanged(ListSelectionEvent e) { 
               ListSelectionModel lsm = (ListSelectionModel)e.getSource(); 
               if (!lsm.isSelectionEmpty())  { 
                  setFixedRow();
               } 
            } 
        }); 

        CustomRenderer custom = new CustomRenderer();
        custom.setHorizontalAlignment(JLabel.CENTER);
        scrollColumnModel.getColumn(2).setCellRenderer(custom);             
        scrollColumnModel.getColumn(3).setCellRenderer(new CustomButtonRenderer());             
        CustomButtonEditor customEdit=new CustomButtonEditor(frame);
        scrollColumnModel.getColumn(3).setCellEditor(customEdit);             

        headers.add(scrollTable.getTableHeader());          

        JPanel topPanel = new JPanel();
        topPanel.setLayout(new BoxLayout(topPanel, BoxLayout.X_AXIS));
        adjustColumnWidth(fixedColumnModel.getColumn(0), 100);

        JTableHeader fixedHeader=fixedTable.getTableHeader();
        fixedHeader.setAlignmentY(Component.TOP_ALIGNMENT);
        topPanel.add(fixedHeader);
        topPanel.add(Box.createRigidArea(new Dimension(2, 0)));
        topPanel.setPreferredSize(new Dimension(400, 40));

        JPanel headerPanel = new JPanel();
        headerPanel.setAlignmentY(Component.TOP_ALIGNMENT);
        headerPanel.setLayout(new BorderLayout());      

        JScrollPane scrollpane = new JScrollPane();
        scrollBar = scrollpane.getHorizontalScrollBar();

        headerPanel.add(headers, "North");            
        headerPanel.add(scrollBar, "South");
        topPanel.add(headerPanel);           
        scrollTable.setPreferredScrollableViewportSize( new 
		Dimension(300,rowHeight*scrollTable.getRowCount()));
        fixedTable.setPreferredScrollableViewportSize( new 
		Dimension(100,rowHeight*fixedTable.getRowCount()));
        fixedTable.setPreferredSize( new 
		Dimension(100,rowHeight*fixedTable.getRowCount())); 

        innerPort = new JViewport();
        innerPort.setView(scrollTable);
        scrollpane.setViewport(innerPort);        

        scrollBar.getModel().addChangeListener(new ChangeListener()  {
               public void stateChanged(ChangeEvent e)
                      {
                       Point q = headers.getViewPosition();
                       Point p = innerPort.getViewPosition();
                       int val = scrollBar.getModel().getValue();
                       p.x = val;
                       q.x = val;
                       headers.setViewPosition(p);
                       headers.repaint(headers.getViewRect());
                       innerPort.setViewPosition(p);
                       innerPort.repaint(innerPort.getViewRect());
                      }
              });                                                  
        

        scrollTable.getTableHeader().setUpdateTableInRealTime(false); 
        
        JPanel bottomPanel = new JPanel();
        bottomPanel.setLayout(new BoxLayout(bottomPanel, BoxLayout.X_AXIS));
        fixedTable.setAlignmentY(Component.TOP_ALIGNMENT);
        bottomPanel.add(fixedTable);
        bottomPanel.add(Box.createRigidArea(new Dimension(2, 0)));
        innerPort.setAlignmentY(Component.TOP_ALIGNMENT);
        bottomPanel.add(innerPort);
        bottomPanel.add(Box.createRigidArea(new Dimension(2, 0)));

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -