tabledemo.java

来自「一个小公司要求给写的很简单的任务管理系统。」· Java 代码 · 共 751 行 · 第 1/3 页

JAVA
751
字号
	JPanel selectMode = new JPanel();        selectMode.setLayout(new BoxLayout(selectMode, BoxLayout.X_AXIS));      	selectMode.setBorder(new TitledBorder(getString("TableDemo.selection_mode")));        selectionModeComboBox = new JComboBox() {            public Dimension getMaximumSize() {                return getPreferredSize();            }        };        selectionModeComboBox.addItem(getString("TableDemo.single"));        selectionModeComboBox.addItem(getString("TableDemo.one_range"));        selectionModeComboBox.addItem(getString("TableDemo.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(Box.createHorizontalStrut(2));	selectMode.add(selectionModeComboBox);        selectMode.add(Box.createHorizontalGlue());        comboPanel.add(selectMode);        // Combo box for table resize mode.	JPanel resizeMode = new JPanel();        resizeMode.setLayout(new BoxLayout(resizeMode, BoxLayout.X_AXIS));	resizeMode.setBorder(new TitledBorder(getString("TableDemo.autoresize_mode")));        resizeModeComboBox = new JComboBox() {            public Dimension getMaximumSize() {                return getPreferredSize();            }        };        resizeModeComboBox.addItem(getString("TableDemo.off"));        resizeModeComboBox.addItem(getString("TableDemo.column_boundaries"));        resizeModeComboBox.addItem(getString("TableDemo.subsequent_columns"));        resizeModeComboBox.addItem(getString("TableDemo.last_column"));        resizeModeComboBox.addItem(getString("TableDemo.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(Box.createHorizontalStrut(2));	resizeMode.add(resizeModeComboBox);        resizeMode.add(Box.createHorizontalGlue());        comboPanel.add(resizeMode);        // print panel        printPanel.setBorder(new TitledBorder(getString("TableDemo.printing")));        headerLabel = new JLabel(getString("TableDemo.header"));        footerLabel = new JLabel(getString("TableDemo.footer"));        headerTextField = new JTextField(getString("TableDemo.headerText"), 15);        footerTextField = new JTextField(getString("TableDemo.footerText"), 15);        fitWidth = new JCheckBox(getString("TableDemo.fitWidth"), true);        printButton = new JButton(getString("TableDemo.print"));        printButton.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent ae) {                printTable();            }        });        printPanel.add(headerLabel);        printPanel.add(headerTextField);        printPanel.add(footerLabel);        printPanel.add(footerTextField);                JPanel buttons = new JPanel();        buttons.add(fitWidth);        buttons.add(printButton);        printPanel.add(buttons);        // Show that printing controls are related        relatedComponents.removeAllElements();        relatedComponents.add(headerTextField);        relatedComponents.add(footerTextField);        relatedComponents.add(printButton);        buildAccessibleGroup(relatedComponents);        // wrap up the panels and add them        JPanel sliderWrapper = new JPanel();        sliderWrapper.setLayout(new BoxLayout(sliderWrapper, BoxLayout.X_AXIS));        sliderWrapper.add(labelPanel);        sliderWrapper.add(sliderPanel);        sliderWrapper.add(Box.createHorizontalGlue());        sliderWrapper.setBorder(BorderFactory.createEmptyBorder(0, 4, 0, 0));                JPanel leftWrapper = new JPanel();        leftWrapper.setLayout(new BoxLayout(leftWrapper, BoxLayout.Y_AXIS));        leftWrapper.add(cbPanel);        leftWrapper.add(sliderWrapper);        // add everything        controlPanel.setBorder(BorderFactory.createEmptyBorder(0, 0, 2, 0));        controlPanel.add(leftWrapper);        controlPanel.add(comboPanel);        controlPanel.add(printPanel);	setTableControllers(); // Set accessibility information        getDemoPanel().getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT)            .put(KeyStroke.getKeyStroke("ctrl P"), "print");        getDemoPanel().getActionMap().put("print", new AbstractAction() {            public void actionPerformed(ActionEvent ae) {                printTable();            }        });                    } // TableDemo()    /**     * Sets the Accessibility MEMBER_OF property to denote that     * these components work together as a group. Each object      * is set to be a MEMBER_OF an array that contains all of     * the objects in the group, including itself.     *     * @param components The list of objects that are related     */    void buildAccessibleGroup(Vector components) {	AccessibleContext context = null;	int numComponents = components.size();	Object[] group = components.toArray();	Object object = null;	for (int i = 0; i < numComponents; ++i) {	    object = components.elementAt(i);	    if (object instanceof Accessible) {	        context = ((Accessible)components.elementAt(i)).						 getAccessibleContext();		context.getAccessibleRelationSet().add(		    new AccessibleRelation(			AccessibleRelation.MEMBER_OF, group));	    }	}    } // buildAccessibleGroup()    /**     * This sets CONTROLLER_FOR on the controls that manipulate the     * table and CONTROLLED_BY relationships on the table to point     * back to the controllers.     */    private void setTableControllers() {	// Set up the relationships to show what controls the table	setAccessibleController(isColumnReorderingAllowedCheckBox, 				tableAggregate);	setAccessibleController(showHorizontalLinesCheckBox,				tableAggregate);	setAccessibleController(showVerticalLinesCheckBox,				tableAggregate);	setAccessibleController(isColumnSelectionAllowedCheckBox,				tableAggregate);	setAccessibleController(isRowSelectionAllowedCheckBox,				tableAggregate);	setAccessibleController(interCellSpacingSlider,				tableAggregate);	setAccessibleController(rowHeightSlider,				tableAggregate);	setAccessibleController(selectionModeComboBox,				tableAggregate);	setAccessibleController(resizeModeComboBox,				tableAggregate);    } // setTableControllers()    /**     * Sets up accessibility relationships to denote that one      * object controls another. The CONTROLLER_FOR property is     * set on the controller object, and the CONTROLLED_BY     * property is set on the target object.     */    private void setAccessibleController(JComponent controller,					JComponent target) {	AccessibleRelationSet controllerRelations = 	    controller.getAccessibleContext().getAccessibleRelationSet();	AccessibleRelationSet targetRelations = 	    target.getAccessibleContext().getAccessibleRelationSet();	controllerRelations.add(	    new AccessibleRelation(		AccessibleRelation.CONTROLLER_FOR, target));	targetRelations.add(	    new AccessibleRelation(		AccessibleRelation.CONTROLLED_BY, controller));    } // setAccessibleController()    public JScrollPane createTable() {        // final        final String[] names = {	  getString("TableDemo.first_name"),	  getString("TableDemo.last_name"),	  getString("TableDemo.favorite_color"),	  getString("TableDemo.favorite_movie"),	  getString("TableDemo.favorite_number"),	  getString("TableDemo.favorite_food")	};	ImageIcon apple        = createImageIcon("ImageClub/food/apple.jpg",      getString("TableDemo.apple"));	ImageIcon asparagus    = createImageIcon("ImageClub/food/asparagus.jpg",  getString("TableDemo.asparagus"));	ImageIcon banana       = createImageIcon("ImageClub/food/banana.jpg",     getString("TableDemo.banana"));	ImageIcon broccoli     = createImageIcon("ImageClub/food/broccoli.jpg",   getString("TableDemo.broccoli"));	ImageIcon cantaloupe   = createImageIcon("ImageClub/food/cantaloupe.jpg", getString("TableDemo.cantaloupe"));	ImageIcon carrot       = createImageIcon("ImageClub/food/carrot.jpg",     getString("TableDemo.carrot"));	ImageIcon corn         = createImageIcon("ImageClub/food/corn.jpg",       getString("TableDemo.corn"));	ImageIcon grapes       = createImageIcon("ImageClub/food/grapes.jpg",     getString("TableDemo.grapes"));	ImageIcon grapefruit   = createImageIcon("ImageClub/food/grapefruit.jpg", getString("TableDemo.grapefruit"));	ImageIcon kiwi         = createImageIcon("ImageClub/food/kiwi.jpg",       getString("TableDemo.kiwi"));	ImageIcon onion        = createImageIcon("ImageClub/food/onion.jpg",      getString("TableDemo.onion"));	ImageIcon pear         = createImageIcon("ImageClub/food/pear.jpg",       getString("TableDemo.pear"));	ImageIcon peach        = createImageIcon("ImageClub/food/peach.jpg",      getString("TableDemo.peach"));	ImageIcon pepper       = createImageIcon("ImageClub/food/pepper.jpg",     getString("TableDemo.pepper"));	ImageIcon pickle       = createImageIcon("ImageClub/food/pickle.jpg",     getString("TableDemo.pickle"));	ImageIcon pineapple    = createImageIcon("ImageClub/food/pineapple.jpg",  getString("TableDemo.pineapple"));	ImageIcon raspberry    = createImageIcon("ImageClub/food/raspberry.jpg",  getString("TableDemo.raspberry"));	ImageIcon sparegrass   = createImageIcon("ImageClub/food/asparagus.jpg",  getString("TableDemo.sparegrass"));	ImageIcon strawberry   = createImageIcon("ImageClub/food/strawberry.jpg", getString("TableDemo.strawberry"));	ImageIcon tomato       = createImageIcon("ImageClub/food/tomato.jpg",     getString("TableDemo.tomato"));	ImageIcon watermelon   = createImageIcon("ImageClub/food/watermelon.jpg", getString("TableDemo.watermelon"));	NamedColor aqua        = new NamedColor(new Color(127, 255, 212), getString("TableDemo.aqua"));	NamedColor beige       = new NamedColor(new Color(245, 245, 220), getString("TableDemo.beige"));	NamedColor black       = new NamedColor(Color.black, getString("TableDemo.black"));	NamedColor blue        = new NamedColor(new Color(0, 0, 222), getString("TableDemo.blue"));	NamedColor eblue       = new NamedColor(Color.blue, getString("TableDemo.eblue"));	NamedColor jfcblue     = new NamedColor(new Color(204, 204, 255), getString("TableDemo.jfcblue"));	NamedColor jfcblue2    = new NamedColor(new Color(153, 153, 204), getString("TableDemo.jfcblue2"));	NamedColor cybergreen  = new NamedColor(Color.green.darker().brighter(), getString("TableDemo.cybergreen"));	NamedColor darkgreen   = new NamedColor(new Color(0, 100, 75), getString("TableDemo.darkgreen"));	NamedColor forestgreen = new NamedColor(Color.green.darker(), getString("TableDemo.forestgreen"));	NamedColor gray        = new NamedColor(Color.gray, getString("TableDemo.gray"));	NamedColor green       = new NamedColor(Color.green, getString("TableDemo.green"));	NamedColor orange      = new NamedColor(new Color(255, 165, 0), getString("TableDemo.orange"));	NamedColor purple      = new NamedColor(new Color(160, 32, 240),  getString("TableDemo.purple"));	NamedColor red         = new NamedColor(Color.red, getString("TableDemo.red"));	NamedColor rustred     = new NamedColor(Color.red.darker(), getString("TableDemo.rustred"));	NamedColor sunpurple   = new NamedColor(new Color(100, 100, 255), getString("TableDemo.sunpurple"));	NamedColor suspectpink = new NamedColor(new Color(255, 105, 180), getString("TableDemo.suspectpink"));	NamedColor turquoise   = new NamedColor(new Color(0, 255, 255), getString("TableDemo.turquoise"));	NamedColor violet      = new NamedColor(new Color(238, 130, 238), getString("TableDemo.violet"));	NamedColor yellow      = new NamedColor(Color.yellow, getString("TableDemo.yellow"));        // Create the dummy data (a few rows of names)

⌨️ 快捷键说明

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