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

📄 tableexample4.java

📁 利用jtable,设计属性编辑器程序设计实例。包括jtabe 编辑风格自定义
💻 JAVA
字号:
package propertyproj;import javax.swing.*;import javax.swing.table.*;import javax.swing.border.*;import java.awt.Dimension;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.awt.Color;public class TableExample4 {    public TableExample4() {        JFrame frame = new JFrame("Table");        frame.addWindowListener(new WindowAdapter() {            public void windowClosing(WindowEvent e) {System.exit(0);}});        // Take the dummy data from SwingSet.        final String[] names = {"First Name", "Last Name", "Favorite Color",                                "Favorite Number", "Vegetarian"};        final Object[][] data = {            {"Mark", "Andrews", "Red", new Integer(2), new Boolean(true)},            {"Tom", "Ball", "Blue", new Integer(99), new Boolean(false)},            {"Alan", "Chung", "Green", new Integer(838), new Boolean(false)},            {"Jeff", "Dinkins", "Turquois", new Integer(8), new Boolean(true)},            {"Amy", "Fowler", "Yellow", new Integer(3), new Boolean(false)},            {"Brian", "Gerhold", "Green", new Integer(0), new Boolean(false)},            {"James", "Gosling", "Pink", new Integer(21), new Boolean(false)},            {"David", "Karlton", "Red", new Integer(1), new Boolean(false)},            {"Dave", "Kloba", "Yellow", new Integer(14), new Boolean(false)},            {"Peter", "Korn", "Purple", new Integer(12), new Boolean(false)},            {"Phil", "Milne", "Purple", new Integer(3), new Boolean(false)},            {"Dave", "Moore", "Green", new Integer(88), new Boolean(false)},            {"Hans", "Muller", "Maroon", new Integer(5), new Boolean(false)},            {"Rick", "Levenson", "Blue", new Integer(2), new Boolean(false)},            {"Tim", "Prinzing", "Blue", new Integer(22), new Boolean(false)},            {"Chester", "Rose", "Black", new Integer(0), new Boolean(false)},            {"Ray", "Ryan", "Gray", new Integer(77), new Boolean(false)},            {"Georges", "Saab", "Red", new Integer(4), new Boolean(false)},            {"Willie", "Walker", "Phthalo Blue", new Integer(4), new Boolean(false)},            {"Kathy", "Walrath", "Blue", new Integer(8), new Boolean(false)},            {"Arnaud", "Weber", "Green", new Integer(44), new Boolean(false)}        };        // Create a model of the data.        TableModel dataModel = new AbstractTableModel() {            // These methods always need to be implemented.            public int getColumnCount() { return names.length; }            public int getRowCount() { return data.length;}            public Object getValueAt(int row, int col) {return data[row][col];}            // The default implementations of these methods in            // AbstractTableModel would work, but we can refine them.            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 true;}            public void setValueAt(Object aValue, int row, int column) {                System.out.println("Setting value to: " + aValue);                data[row][column] = aValue;            }         };        // Create the table        JTable tableView = new JTable(dataModel);        // Turn off auto-resizing so that we can set column sizes programmatically.        // In this mode, all columns will get their preferred widths, as set blow.        tableView.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);        // Create a combo box to show that you can use one in a table.        JComboBox comboBox = new JComboBox();        comboBox.addItem("Red");        comboBox.addItem("Orange");        comboBox.addItem("Yellow");        comboBox.addItem("Green");        comboBox.addItem("Blue");        comboBox.addItem("Indigo");        comboBox.addItem("Violet");        TableColumn colorColumn = tableView.getColumn("Favorite Color");        // Use the combo box as the editor in the "Favorite Color" column.        //colorColumn.setCellEditor(new DefaultCellEditor(comboBox));        JTable tab=new JTable();        DefaultTableModel dtm=new DefaultTableModel();        // Set a pink background and tooltip for the Color column renderer.        DefaultTableCellRenderer colorColumnRenderer = new DefaultTableCellRenderer();        colorColumnRenderer.setBackground(Color.pink);        colorColumnRenderer.setToolTipText("Click for combo box");        colorColumn.setCellRenderer(colorColumnRenderer);        // Set a tooltip for the header of the colors column.        TableCellRenderer headerRenderer = colorColumn.getHeaderRenderer();        if (headerRenderer instanceof DefaultTableCellRenderer)            ((DefaultTableCellRenderer)headerRenderer).setToolTipText("Hi Mom!");        // Set the width of the "Vegetarian" column.        TableColumn vegetarianColumn = tableView.getColumn("Vegetarian");        vegetarianColumn.setPreferredWidth(100);        // Show the values in the "Favorite Number" column in different colors.        TableColumn numbersColumn = tableView.getColumn("Favorite Number");        DefaultTableCellRenderer numberColumnRenderer = new DefaultTableCellRenderer() {            public void setValue(Object value) {                int cellValue = (value instanceof Number) ? ((Number)value).intValue() : 0;                setForeground((cellValue > 30) ? Color.black : Color.red);                setText((value == null) ? "" : value.toString());            }        };        numberColumnRenderer.setHorizontalAlignment(JLabel.RIGHT);        numbersColumn.setCellRenderer(numberColumnRenderer);        numbersColumn.setPreferredWidth(110);        // Finish setting up the table.        JScrollPane scrollpane = new JScrollPane(tableView);        scrollpane.setBorder(new BevelBorder(BevelBorder.LOWERED));        scrollpane.setPreferredSize(new Dimension(430, 200));        frame.getContentPane().add(scrollpane);        frame.pack();        frame.setVisible(true);    }    public static void main(String[] args) {        new TableExample4();    }}

⌨️ 快捷键说明

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