buttondemo.java
来自「一个小公司要求给写的很简单的任务管理系统。」· Java 代码 · 共 565 行 · 第 1/2 页
JAVA
565 行
currentControls = radiobuttons; radioButtonPanel.add(createControls()); } public void addCheckBoxes() { tab.addTab(getString("ButtonDemo.checkboxes"), checkboxPanel); checkboxPanel.setLayout(new BoxLayout(checkboxPanel, BoxLayout.X_AXIS)); checkboxPanel.setBorder(border5); JPanel p1 = createVerticalPanel(true); p1.setAlignmentY(TOP_ALIGNMENT); checkboxPanel.add(p1); // Text Radio Buttons JPanel p2 = createHorizontalPanel(false); p1.add(p2); p2.setBorder(new CompoundBorder( new TitledBorder( null, getString("ButtonDemo.textcheckboxes"), TitledBorder.LEFT, TitledBorder.TOP), border5) ); checkboxes.add(p2.add(new JCheckBox(getString("ButtonDemo.check1")))); p2.add(Box.createRigidArea(HGAP10)); checkboxes.add(p2.add(new JCheckBox(getString("ButtonDemo.check2")))); p2.add(Box.createRigidArea(HGAP10)); checkboxes.add(p2.add(new JCheckBox(getString("ButtonDemo.check3")))); // Image Radio Buttons p1.add(Box.createRigidArea(VGAP30)); JPanel p3 = createHorizontalPanel(false); p1.add(p3); p3.setLayout(new BoxLayout(p3, BoxLayout.X_AXIS)); p3.setBorder(new TitledBorder(null, getString("ButtonDemo.imagecheckboxes"), TitledBorder.LEFT, TitledBorder.TOP)); // image checkbox 1 String description = getString("ButtonDemo.customcheck"); String text = getString("ButtonDemo.check1"); check = new JCheckBox(text, createImageIcon("buttons/cb.gif", description)); check.setRolloverIcon(createImageIcon("buttons/cbr.gif", description)); check.setRolloverSelectedIcon(createImageIcon("buttons/cbrs.gif", description)); check.setSelectedIcon(createImageIcon("buttons/cbs.gif", description)); check.setMargin(new Insets(0,0,0,0)); p3.add(check); checkboxes.add(check); p3.add(Box.createRigidArea(HGAP20)); // image checkbox 2 text = getString("ButtonDemo.check2"); check = new JCheckBox(text, createImageIcon("buttons/cb.gif", description)); check.setRolloverIcon(createImageIcon("buttons/cbr.gif", description)); check.setRolloverSelectedIcon(createImageIcon("buttons/cbrs.gif", description)); check.setSelectedIcon(createImageIcon("buttons/cbs.gif", description)); check.setMargin(new Insets(0,0,0,0)); p3.add(check); checkboxes.add(check); p3.add(Box.createRigidArea(HGAP20)); // image checkbox 3 text = getString("ButtonDemo.check3"); check = new JCheckBox(text, createImageIcon("buttons/cb.gif", description)); check.setRolloverIcon(createImageIcon("buttons/cbr.gif", description)); check.setRolloverSelectedIcon(createImageIcon("buttons/cbrs.gif", description)); check.setSelectedIcon(createImageIcon("buttons/cbs.gif", description)); check.setMargin(new Insets(0,0,0,0)); p3.add(check); checkboxes.add(check); // verticaly glue fills out the rest of the box p1.add(Box.createVerticalGlue()); checkboxPanel.add(Box.createHorizontalGlue()); currentControls = checkboxes; checkboxPanel.add(createControls()); } public void addToggleButtons() { tab.addTab(getString("ButtonDemo.togglebuttons"), toggleButtonPanel); } public JPanel createControls() { JPanel controls = new JPanel() { public Dimension getMaximumSize() { return new Dimension(300, super.getMaximumSize().height); } }; controls.setLayout(new BoxLayout(controls, BoxLayout.Y_AXIS)); controls.setAlignmentY(TOP_ALIGNMENT); controls.setAlignmentX(LEFT_ALIGNMENT); JPanel buttonControls = createHorizontalPanel(true); buttonControls.setAlignmentY(TOP_ALIGNMENT); buttonControls.setAlignmentX(LEFT_ALIGNMENT); JPanel leftColumn = createVerticalPanel(false); leftColumn.setAlignmentX(LEFT_ALIGNMENT); leftColumn.setAlignmentY(TOP_ALIGNMENT); JPanel rightColumn = new LayoutControlPanel(this); buttonControls.add(leftColumn); buttonControls.add(Box.createRigidArea(HGAP20)); buttonControls.add(rightColumn); buttonControls.add(Box.createRigidArea(HGAP20)); controls.add(buttonControls); createListeners(); // Display Options JLabel l = new JLabel(getString("ButtonDemo.controlpanel_label")); leftColumn.add(l); JCheckBox bordered = new JCheckBox(getString("ButtonDemo.paintborder")); bordered.setActionCommand("PaintBorder"); bordered.setToolTipText(getString("ButtonDemo.paintborder_tooltip")); bordered.setMnemonic(getMnemonic("ButtonDemo.paintborder_mnemonic")); if (currentControls == buttons) { bordered.setSelected(true); } bordered.addItemListener(buttonDisplayListener); leftColumn.add(bordered); JCheckBox focused = new JCheckBox(getString("ButtonDemo.paintfocus")); focused.setActionCommand("PaintFocus"); focused.setToolTipText(getString("ButtonDemo.paintfocus_tooltip")); focused.setMnemonic(getMnemonic("ButtonDemo.paintfocus_mnemonic")); focused.setSelected(true); focused.addItemListener(buttonDisplayListener); leftColumn.add(focused); JCheckBox enabled = new JCheckBox(getString("ButtonDemo.enabled")); enabled.setActionCommand("Enabled"); enabled.setToolTipText(getString("ButtonDemo.enabled_tooltip")); enabled.setSelected(true); enabled.addItemListener(buttonDisplayListener); enabled.setMnemonic(getMnemonic("ButtonDemo.enabled_mnemonic")); leftColumn.add(enabled); JCheckBox filled = new JCheckBox(getString("ButtonDemo.contentfilled")); filled.setActionCommand("ContentFilled"); filled.setToolTipText(getString("ButtonDemo.contentfilled_tooltip")); filled.setSelected(true); filled.addItemListener(buttonDisplayListener); filled.setMnemonic(getMnemonic("ButtonDemo.contentfilled_mnemonic")); leftColumn.add(filled); leftColumn.add(Box.createRigidArea(VGAP20)); l = new JLabel(getString("ButtonDemo.padamount_label")); leftColumn.add(l); ButtonGroup group = new ButtonGroup(); JRadioButton defaultPad = new JRadioButton(getString("ButtonDemo.default")); defaultPad.setToolTipText(getString("ButtonDemo.default_tooltip")); defaultPad.setMnemonic(getMnemonic("ButtonDemo.default_mnemonic")); defaultPad.addItemListener(buttonPadListener); group.add(defaultPad); defaultPad.setSelected(true); leftColumn.add(defaultPad); JRadioButton zeroPad = new JRadioButton(getString("ButtonDemo.zero")); zeroPad.setActionCommand("ZeroPad"); zeroPad.setToolTipText(getString("ButtonDemo.zero_tooltip")); zeroPad.addItemListener(buttonPadListener); zeroPad.setMnemonic(getMnemonic("ButtonDemo.zero_mnemonic")); group.add(zeroPad); leftColumn.add(zeroPad); JRadioButton tenPad = new JRadioButton(getString("ButtonDemo.ten")); tenPad.setActionCommand("TenPad"); tenPad.setMnemonic(getMnemonic("ButtonDemo.ten_mnemonic")); tenPad.setToolTipText(getString("ButtonDemo.ten_tooltip")); tenPad.addItemListener(buttonPadListener); group.add(tenPad); leftColumn.add(tenPad); leftColumn.add(Box.createRigidArea(VGAP20)); return controls; } public void createListeners() { buttonDisplayListener = new ItemListener() { Component c; AbstractButton b; public void itemStateChanged(ItemEvent e) { JCheckBox cb = (JCheckBox) e.getSource(); String command = cb.getActionCommand(); if(command == "Enabled") { for(int i = 0; i < currentControls.size(); i++) { c = (Component) currentControls.elementAt(i); c.setEnabled(cb.isSelected()); c.invalidate(); } } else if(command == "PaintBorder") { c = (Component) currentControls.elementAt(0); if(c instanceof AbstractButton) { for(int i = 0; i < currentControls.size(); i++) { b = (AbstractButton) currentControls.elementAt(i); b.setBorderPainted(cb.isSelected()); b.invalidate(); } } } else if(command == "PaintFocus") { c = (Component) currentControls.elementAt(0); if(c instanceof AbstractButton) { for(int i = 0; i < currentControls.size(); i++) { b = (AbstractButton) currentControls.elementAt(i); b.setFocusPainted(cb.isSelected()); b.invalidate(); } } } else if(command == "ContentFilled") { c = (Component) currentControls.elementAt(0); if(c instanceof AbstractButton) { for(int i = 0; i < currentControls.size(); i++) { b = (AbstractButton) currentControls.elementAt(i); b.setContentAreaFilled(cb.isSelected()); b.invalidate(); } } } invalidate(); validate(); repaint(); } }; buttonPadListener = new ItemListener() { Component c; AbstractButton b; public void itemStateChanged(ItemEvent e) { // *** pad = 0 int pad = -1; JRadioButton rb = (JRadioButton) e.getSource(); String command = rb.getActionCommand(); if(command == "ZeroPad" && rb.isSelected()) { pad = 0; } else if(command == "TenPad" && rb.isSelected()) { pad = 10; } for(int i = 0; i < currentControls.size(); i++) { b = (AbstractButton) currentControls.elementAt(i); if(pad == -1) { b.setMargin(null); } else if(pad == 0) { b.setMargin(insets0); } else { b.setMargin(insets10); } } invalidate(); validate(); repaint(); } }; } public void stateChanged(ChangeEvent e) { SingleSelectionModel model = (SingleSelectionModel) e.getSource(); if(model.getSelectedIndex() == 0) { currentControls = buttons; } else if(model.getSelectedIndex() == 1) { currentControls = radiobuttons; } else if(model.getSelectedIndex() == 2) { currentControls = checkboxes; } else { currentControls = togglebuttons; } } public Vector getCurrentControls() { return currentControls; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?