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

📄 starstablepanel.java

📁 《Java网络程序设计.rar》包括三个网络程序的源代码。
💻 JAVA
字号:
package org.impact.stars.appclient.common;/* * starstable.java * * Created on December 28, 2001, 4:38 PM */import javax.swing.*;import javax.swing.table.*;import javax.swing.event.*;import javax.swing.border.*;import java.awt.*;import java.awt.event.*;import java.util.*;public class StarsTablePanel extends JPanel {    JTable      tableView;    JScrollPane scrollpane;    Dimension   origin = new Dimension(0, 0);    /*    JCheckBox   isColumnReorderingAllowedCheckBox;    JCheckBox   showHorizontalLinesCheckBox;    JCheckBox   showVerticalLinesCheckBox;         JCheckBox   isColumnSelectionAllowedCheckBox;    JCheckBox   isRowSelectionAllowedCheckBox;    JCheckBox   isRowAndColumnSelectionAllowedCheckBox;         JLabel      interCellSpacingLabel;    JLabel      rowHeightLabel;         JSlider     interCellSpacingSlider;    JSlider     rowHeightSlider;         JComponent  selectionModeButtons;    JComponent  resizeModeButtons;     */        public JButton saveButton;    public JButton editButton;    public JButton resetButton;    public JButton cancelButton;        JPanel      mainPanel;    JPanel      controlPanel;    JScrollPane tableAggregate;        public StarsTablePanel() {        super();    }        public StarsTablePanel(String[] name, Object[][] data) {        super();                setLayout(new BorderLayout());        mainPanel = this;        controlPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));        //controlPanel.setBorder(new javax.swing.border.LineBorder(java.awt.Color.gray));        //controlPanel.setBorder(new javax.swing.border.EtchedBorder());        /*        JPanel column1 = new JPanel(new FlowLayout() );        JPanel column2 = new JPanel(new FlowLayout() );        JPanel column3 = new JPanel(new FlowLayout() );         */                mainPanel.add(controlPanel, BorderLayout.NORTH);                saveButton = new JButton("Save");        controlPanel.add(saveButton);                editButton = new JButton("Edit");        controlPanel.add(editButton);                        resetButton = new JButton("Reset");        controlPanel.add(resetButton);                cancelButton = new JButton("Cancel");        controlPanel.add(cancelButton);        /*        resetButton.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                                resetdata();                tableView.repaint();            }        }        );         */        // start column 1        /*        isColumnReorderingAllowedCheckBox = new JCheckBox("Reordering allowed", true);        column1.add(isColumnReorderingAllowedCheckBox);        isColumnReorderingAllowedCheckBox.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                boolean flag = ((JCheckBox)e.getSource()).isSelected();                tableView.getTableHeader().setReorderingAllowed(flag);                tableView.repaint();            }        });                          showHorizontalLinesCheckBox = new JCheckBox("Horiz. Lines", true);        column1.add(showHorizontalLinesCheckBox);        showHorizontalLinesCheckBox.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                boolean flag = ((JCheckBox)e.getSource()).isSelected();                tableView.setShowHorizontalLines(flag); ;                tableView.repaint();            }        });                 showVerticalLinesCheckBox = new JCheckBox("Vert. Lines", true);        column1.add(showVerticalLinesCheckBox);        showVerticalLinesCheckBox.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                boolean flag = ((JCheckBox)e.getSource()).isSelected();                tableView.setShowVerticalLines(flag); ;                tableView.repaint();            }        });                 interCellSpacingLabel = new JLabel("Inter-cell spacing:");        column1.add(interCellSpacingLabel);                 interCellSpacingSlider = new JSlider(JSlider.HORIZONTAL, 0, 10, 1);        interCellSpacingSlider.getAccessibleContext().setAccessibleName("Inter-cell spacing");        interCellSpacingLabel.setLabelFor(interCellSpacingSlider);        column1.add(interCellSpacingSlider);        interCellSpacingSlider.addChangeListener(new ChangeListener() {            public void stateChanged(ChangeEvent e) {                int spacing = ((JSlider)e.getSource()).getValue();                tableView.setIntercellSpacing(new Dimension(spacing, spacing));                tableView.repaint();            }        });                 controlPanel.add(column1);                 // start column 2                 isColumnSelectionAllowedCheckBox = new JCheckBox("Column selection", false);        column2.add(isColumnSelectionAllowedCheckBox);        isColumnSelectionAllowedCheckBox.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                boolean flag = ((JCheckBox)e.getSource()).isSelected();                tableView.setColumnSelectionAllowed(flag); ;                tableView.repaint();            }        });                 isRowSelectionAllowedCheckBox = new JCheckBox("Row selection", true);        column2.add(isRowSelectionAllowedCheckBox);        isRowSelectionAllowedCheckBox.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                boolean flag = ((JCheckBox)e.getSource()).isSelected();                tableView.setRowSelectionAllowed(flag); ;                tableView.repaint();            }        });                 isRowAndColumnSelectionAllowedCheckBox = new JCheckBox("Cell selection", false);        column2.add(isRowAndColumnSelectionAllowedCheckBox);        isRowAndColumnSelectionAllowedCheckBox.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                boolean flag = ((JCheckBox)e.getSource()).isSelected();                tableView.setCellSelectionEnabled(flag); ;                tableView.repaint();            }        });                 rowHeightLabel = new JLabel("Row height:");        column2.add(rowHeightLabel);                 rowHeightSlider = new JSlider(JSlider.HORIZONTAL, 5, 100, 20);        rowHeightSlider.getAccessibleContext().setAccessibleName("Row height");        rowHeightLabel.setLabelFor(rowHeightSlider);        column2.add(rowHeightSlider);        rowHeightSlider.addChangeListener(new ChangeListener() {            public void stateChanged(ChangeEvent e) {                int height = ((JSlider)e.getSource()).getValue();                tableView.setRowHeight(height);                tableView.repaint();            }        });                 controlPanel.add(column2);                                            // ComboBox for selection modes.        JPanel selectMode = new JPanel();        column3.setLayout(new FlowLayout());        selectMode.setBorder(new TitledBorder("Selection mode"));                          JComboBox selectionModeComboBox = new JComboBox();        selectionModeComboBox.addItem("Single");        selectionModeComboBox.addItem("One range");        selectionModeComboBox.addItem("Multiple ranges");        selectionModeComboBox.setSelectedIndex(tableView.getSelectionModel().getSelectionMode());        selectionModeComboBox.addItemListener(new ItemListener() {            public void itemStateChanged(ItemEvent e) {                JComboBox source = (JComboBox)e.getSource();                tableView.setSelectionMode(source.getSelectedIndex());            }        });                 selectMode.add(selectionModeComboBox);        column3.add(selectMode);                 // Combo box for table resize mode.                 JPanel resizeMode = new JPanel();                 resizeMode.setBorder(new TitledBorder("Autoresize mode"));                          JComboBox resizeModeComboBox = new JComboBox();        resizeModeComboBox.addItem("Off");        resizeModeComboBox.addItem("Column boundries");        resizeModeComboBox.addItem("Subsequent columns");        resizeModeComboBox.addItem("Last column");        resizeModeComboBox.addItem("All columns");        resizeModeComboBox.setSelectedIndex(tableView.getAutoResizeMode());        resizeModeComboBox.addItemListener(new ItemListener() {            public void itemStateChanged(ItemEvent e) {                JComboBox source = (JComboBox)e.getSource();                tableView.setAutoResizeMode(source.getSelectedIndex());            }        });                 resizeMode.add(resizeModeComboBox);        column3.add(resizeMode);                 controlPanel.add(column3);         */                // Create the table.        tableAggregate = createTable(name, data);        mainPanel.add(tableAggregate, BorderLayout.CENTER);            }        public JScrollPane createTable(String[] anames, Object[][] adata) {                final String[] names = anames;        final Object[][] data = adata;        /*        final String[] names = {"First Name", "Last Name", "Favorite Color",        "Favorite Sport", "Favorite Number"};                                   // Create the dummy data (a few rows of names)                 final Object[][] data = {            {"Mike", "Albers",        Color.green, "Soccer", new Integer(44)},            {"Mark", "Andrews",       Color.red, "Baseball", new Integer(2)},            {"Tom", "Ball",           Color.blue, "Football", new Integer(99)},        };         getCellClass         */        // Create a model of the data.        TableModel dataModel = new AbstractTableModel() {            public int getColumnCount() { return names.length; }            public int getRowCount() { return data.length;}            public Object getValueAt(int row, int col) {return data[row][col];}            public String getColumnName(int column) {return names[column];}            public Class getColumnClass(int c) {return getValueAt(0, c).getClass();}            public boolean isCellEditable(int row, int col) {return ((getValueAt(row, col).getClass() == String.class)&&(col!=0));}            public void setValueAt(Object aValue, int row, int column) { data[row][column] = aValue; }        };                        // Create the table        tableView = new JTable(dataModel);        tableView.setBorder(new javax.swing.border.EtchedBorder());        // Show colors by rendering them in their own color.        DefaultTableCellRenderer colorRenderer = new DefaultTableCellRenderer() {            public void setValue(Object value) {                if (value instanceof Color) {                    Color c = (Color)value;                    setForeground(c);                    setText(c.getRed() + ", " + c.getGreen() + ", " + c.getBlue());                }            }                    };                colorRenderer.setHorizontalAlignment(JLabel.RIGHT);        //tableView.getColumn("Favorite Color").setCellRenderer(colorRenderer);                tableView.setRowHeight(25);                scrollpane = new JScrollPane(tableView);        return scrollpane;    }    public JTable getTableView() {                return tableView;    }        public void resetdata(){        for (int i=0; i< tableView.getRowCount();i++) {            tableView.setValueAt(" ", i, 1);        }        tableView.repaint();    }        public void resetdata(Object[][] data){        for (int i=0; i< tableView.getRowCount();i++) {            tableView.setValueAt(data[i][1], i, 1);        }        tableView.repaint();    }    }

⌨️ 快捷键说明

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