?? demogroup.java~2~
字號:
package java2d;import java.awt.*;import java.util.Vector;import javax.swing.JPanel;import javax.swing.JTabbedPane;import javax.swing.border.*;import javax.swing.event.ChangeEvent;import javax.swing.event.ChangeListener;// MouseListener,public class DemoGroup extends JPanel implements ChangeListener { static int columns = 2; private static Font font = new Font("serif", Font.PLAIN, 12); private static EmptyBorder emptyB = new EmptyBorder(5, 5, 5, 5); private static BevelBorder bevelB = new BevelBorder(BevelBorder.LOWERED); private String groupName; public JPanel clonePanels[]; public JTabbedPane tabbedPane; String[] demos0; public DemoGroup(String name) { groupName = name; setLayout(new BorderLayout()); JPanel p = new JPanel(new GridLayout(0, 2)); p.setBorder(new CompoundBorder(emptyB, bevelB)); Vector vector = new Vector(40); int index = 0; for (; index < Java2Demo.demos.length; index++) { if (name.compareTo(Java2Demo.demos[index][0]) == 0) { break; } } String[] demos = Java2Demo.demos[index]; demos0 = Java2Demo.demos0[index]; for (int j = 1; j < demos.length; j++) { vector.add("java2d." + demos[j]); } if (vector.size() % 2 == 1) { p.setLayout(new GridBagLayout()); } for (int i = 0; i < vector.size(); i++) { DemoPanel dp = new DemoPanel((String) vector.elementAt(i)); dp.setDemoBorder(p); if (dp.surface != null) { // dp.surface.addMouseListener(this); dp.surface.setMonitor(Java2Demo.performancemonitor != null); } if (p.getLayout() instanceof GridBagLayout) { int x = p.getComponentCount() % 2; int y = p.getComponentCount() / 2; int w = i == vector.size() - 1 ? 2 : 1; Java2Demo.addToGridBag(p, dp, x, y, w, 1, 1, 1); } else { p.add(dp); } } add(p); addtab(); } /* public void mouseClicked(MouseEvent e) { if (tabbedPane == null) { // shutDown(getPanel()); JPanel p = new JPanel(new BorderLayout()); p.setBorder(new CompoundBorder(emptyB, bevelB)); tabbedPane = new JTabbedPane(); tabbedPane.setFont(font); JPanel tmpP = (JPanel) getComponent(0); tabbedPane.addTab(groupName, tmpP); clonePanels = new JPanel[tmpP.getComponentCount()]; for (int i = 0; i < clonePanels.length; i++) { clonePanels[i] = new JPanel(new BorderLayout()); DemoPanel dp = (DemoPanel) tmpP.getComponent(i); DemoPanel c = new DemoPanel(dp.className); c.setDemoBorder(clonePanels[i]); if (c.surface != null) { c.surface.setMonitor(Java2Demo.performancemonitor != null); if (Java2Demo.backgroundColor != null) { c.surface.setBackground(Java2Demo.backgroundColor); } } clonePanels[i].add(c); String s = dp.className.substring(dp.className.indexOf('.')+1); tabbedPane.addTab(s, clonePanels[i]); } p.add(tabbedPane); remove(tmpP); add(p); tabbedPane.addChangeListener(this); validate(); } String className = e.getComponent().toString(); className = className.substring(0, className.indexOf('[')); for (int i = 0; i < tabbedPane.getTabCount(); i++) { String s1 = className.substring(className.indexOf('.')+1); if (tabbedPane.getTitleAt(i).equals(s1)) { tabbedPane.setSelectedIndex(i); break; } } validate(); } public void mousePressed(MouseEvent e) { } public void mouseReleased(MouseEvent e) { } public void mouseEntered(MouseEvent e) { } public void mouseExited(MouseEvent e) { } */ public void addtab() { if (tabbedPane == null) { shutDown(getPanel()); JPanel p = new JPanel(new BorderLayout()); p.setBorder(new CompoundBorder(emptyB, bevelB)); tabbedPane = new JTabbedPane(); tabbedPane.setFont(font); JPanel tmpP = (JPanel) getComponent(0); tabbedPane.addTab(groupName, tmpP); clonePanels = new JPanel[tmpP.getComponentCount()]; for (int i = 0; i < clonePanels.length; i++) { clonePanels[i] = new JPanel(new BorderLayout()); DemoPanel dp = (DemoPanel) tmpP.getComponent(i); DemoPanel c = new DemoPanel(dp.className); c.setDemoBorder(clonePanels[i]); if (c.surface != null) { c.surface.setMonitor(Java2Demo.performancemonitor != null); if (Java2Demo.backgroundColor != null) { c.surface.setBackground(Java2Demo.backgroundColor); } } clonePanels[i].add(c); //String s = dp.className.substring(dp.className.indexOf('.')+1); // if (groupName.compareTo("振動") == 0) { String s = demos0[i + 1]; tabbedPane.addTab(s, clonePanels[i]); } } p.add(tabbedPane); remove(tmpP); add(p); tabbedPane.addChangeListener(this); validate(); } } private int index; public void stateChanged(ChangeEvent e) { shutDown((JPanel) tabbedPane.getComponentAt(index)); index = tabbedPane.getSelectedIndex(); setup(false); } public JPanel getPanel() { if (tabbedPane != null) { return (JPanel) tabbedPane.getSelectedComponent(); } else { return (JPanel) getComponent(0); } } public void setup(boolean issueRepaint) { JPanel p = getPanel(); // Let PerformanceMonitor know which demos are running if (Java2Demo.performancemonitor != null) { Java2Demo.performancemonitor.surf.setPanel(p); Java2Demo.performancemonitor.surf.setSurfaceState(); } GlobalControls c = Java2Demo.controls; for (int i = 0; i < p.getComponentCount(); i++) { DemoPanel dp = (DemoPanel) p.getComponent(i); if (dp.surface != null && c != null) { // dp.surface.verbose(); //dp.surface.setSleepAmount(c.slider.getValue()); //dp.surface.setSleepAmount(30); // if (Java2Demo.backgroundColor != null) { // dp.surface.setBackground(Java2Demo.backgroundColor); // } } dp.start(); } validate(); } public void shutDown(JPanel p) { invalidate(); for (int i = 0; i < p.getComponentCount(); i++) { ((DemoPanel) p.getComponent(i)).stop(); } System.gc(); }}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -