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 + -
显示快捷键?