?? demogroup.java~1~
字號:
package java2d;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;import javax.swing.event.ChangeEvent;import javax.swing.event.ChangeListener;import java.util.Vector;// 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 + -