/* * Copyright (C) 2011 Peransin Nicolas. * Use is subject to license terms. */ package org.mypsycho.swing.layout; import java.awt.BorderLayout; import java.awt.CardLayout; import java.awt.Color; import java.awt.Insets; import java.awt.LayoutManager; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.BorderFactory; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTabbedPane; import javax.swing.SwingConstants; import javax.swing.border.BevelBorder; import javax.swing.border.Border; import javax.swing.border.CompoundBorder; /** * XXX Doc * <p>Detail ... </p> * @author Peransin Nicolas */ public class ZoomSutPane extends JPanel { /** * Generated serialized version */ private static final long serialVersionUID = -3460158066343707875L; protected LayoutManager getSuperLayout() { return null; }; public ZoomSutPane() { // super(getSuperLayout()); try { jbInit(); } catch (Exception e) { e.printStackTrace(); } } protected ZoomLayout lo = new ZoomLayout(); protected JLabel lbl1 = new JLabel(); protected ZoomConstraint lbl1Cst = new ZoomConstraint(10, 10, 50, 30); protected JLabel lbl2 = new JLabel(); protected JLabel lbl3 = new JLabel(); protected ZoomConstraint lbl3Cst = new ZoomConstraint(100, 100, 60, 60, 30); protected JPanel cadre = new JPanel(); protected ZoomConstraint cadrePos = new ZoomConstraint(50, 400, 200, 60); protected JTabbedPane jTabbedPane1 = new JTabbedPane(); // protected ZoomConstraint tabPos = new ZoomConstraint(300, 50, 200, 100); protected ZoomConstraint tabPos = new ZoomConstraint(300, 50); // protected JLabel jTabbedPane2 = new JLabel(); // protected ZoomLayout nu = new ZoomLayout(); protected JPanel moving = new JPanel(); protected ZoomConstraint movCst = new ZoomConstraint(150, 400, 100, 60); private void jbInit() throws Exception { border1 = BorderFactory.createLineBorder(Color.blue,2); lo.setHeight(500); lo.setWidth(600); setLayout(lo); setOpaque(true); setBackground(Color.WHITE); lbl1.setText("text 1"); lbl1.setBorder(BorderFactory.createLineBorder(Color.green)); lbl1.setOpaque(true); lbl1.setBackground(Color.cyan); // nu.setHeight(800); // nu.setWidth(300); lbl3Cst.setY(200); lbl1Cst.setWidth(200); jTabbedPane1.setBackground(Color.white); // jTabbedPane1.setAlignmentY((float) 0.5); cadre.setBorder(border1); jLabel1.setForeground(Color.black); jLabel1.setRequestFocusEnabled(true); jLabel1.setText("t"); jLabel2.setText("jLabel2"); jLabel3.setText("jLabel3"); jLabel4.setText("jLabel4"); // add(lbl1, lbl1Cst); JCheckBox c = new JCheckBox("lbl"); c.setEnabled(false); c.setOpaque(false); add(c, lbl1Cst); this.add(jTabbedPane1, tabPos); // JCheckBox c2 = new JCheckBox("lbl"); ZoomLabel c2 = new ZoomLabel(); c2.setOpaque(false); // c2.setSelected(true); c2.setEnabled(false); c2.setBorder(BorderFactory.createLineBorder(Color.CYAN, 1)); add(c2, new ZoomConstraint(10, 30, 200, 30)); jTabbedPane1.add(jLabel1, "Tab 1"); jTabbedPane1.add(jLabel2, "jLabel2"); jTabbedPane1.add(jPanel1, "jPanel1"); jPanel1.add(jLabel3, null); jPanel1.add(jLabel4, null); lbl3Cst.setFont(30); lbl3Cst.setHeight(94); lbl3Cst.setWidth(94); lbl3Cst.setX(60); this.add(lbl3, lbl3Cst); Float.toString(0.0f); cadre.setOpaque(false); // cadre.setBorder(BorderFactory.createMatteBorder(1,1,1,1, Color.BLUE)); add(cadre, cadrePos); moving.setName("moving"); // moving.setLayout(new ZoomLayout(100, 60)); moving.setLayout(new ZoomLayout()); moving.setOpaque(true); moving.setBackground(Color.GREEN); JPanel in1 = new JPanel(); in1.setOpaque(true); in1.setBackground(new Color(0, 200, 0)); moving.add(in1, new ZoomConstraint(20, 20, 20, 10)); JPanel in2 = new JPanel(); in2.setName("in2"); in2.setOpaque(true); in2.setBackground(new Color(0, 100, 0)); moving.add(in2, new ZoomConstraint(60, 20, 20, 20)); add(moving, movCst); // protected ZoomConstraint movCst = new ZoomConstraint(150, 400, 100, 60); lbl3.setText("Z00M-30"); lbl3.setOpaque(true); lbl3.setBackground(Color.red); lbl2.setText("null == FullContainer"); lbl2.setHorizontalAlignment(SwingConstants.CENTER); lbl2.setBorder(BorderFactory.createLineBorder(Color.red)); this.add(lbl2); // ColorComboBox cb = new ColorComboBox(); /* Object[] vals = { "a", "b", "c"}; JComboBox cb = new JComboBox(vals); this.add(cb, lbl4Cst); System.out.println("\t\tSelected color " + cb.getSelectedItem().toString()); */ } protected int incr=2; protected Border border1; protected JLabel jLabel1 = new JLabel(); protected JLabel jLabel2 = new JLabel(); protected JPanel jPanel1 = new JPanel(); protected JLabel jLabel3 = new JLabel(); protected JLabel jLabel4 = new JLabel(); // protected OrbConnect orbConnect1 = new OrbConnect(); public void start() { try { new CardLayout(); while (true) { if ( (movCst.bounds.width >= 100) || (movCst.bounds.width <= -100) ) { incr = -incr; } movCst.bounds.width = movCst.bounds.width+incr; Thread.sleep(50); revalidate(); } } catch (Exception e) { e.printStackTrace(); } } /* protected ZoomLayout lo = new ZoomLayout(); protected JLabel lbl1 = new JLabel(); protected ZoomConstraint lbl1Cst = new ZoomConstraint(10, 10, 50, 30); protected JLabel lbl2 = new JLabel(); protected JLabel lbl3 = new JLabel(); protected ZoomConstraint lbl3Cst = new ZoomConstraint(100, 100, 60, 60, 18); private void jbInit() throws Exception { lo.setHeight(400); lo.setWidth(200); setLayout(lo); lbl1.setText("Text1"); lbl1.setBorder(BorderFactory.createLineBorder(Color.green)); lbl1.setOpaque(true); lbl1.setBackground(Color.cyan); add(lbl1, lbl1Cst); lbl2.setText("ABC"); add(lbl2); lbl2.setBorder(BorderFactory.createLineBorder(Color.red)); lbl3.setText("Z000M"); lbl3.setOpaque(true); lbl3.setBackground(Color.red); add(lbl3, lbl3Cst); } */ // Object toto; public class ZoomLabel extends JLabel implements Zoomable { /** * Generated serialized version */ private static final long serialVersionUID = -8934608067455707695L; public void zoom(float x, float y) { setText("zoom " + x + ", " + y); } } public static void param(int[] o) {} public static void main0(String[] args) { param(new int[] {1, 2}); String nb = ".23456789"; String t = ""; for (int ind=0; ind<10; ind++) { t = t + ind + nb; } for (int ind=0; ind<0; ind++) { System.out.println(t); // System.out.println("It took " + (System.currentTimeMillis() - start) ); } // EventQueue.invokeLater(new Runnable() { // public void run() { // System.out.println("In Event queue"); // } // }); String src = "my $$tring"; String res = src.replaceAll("[$][$]", "S"); System.out.println("Result : " + res); // // try { // Thread.sleep(500); // } catch (Exception e) {} // // System.out.println("Starting SubThread"); // Thread tr = new Thread(new Runnable() { // public void run() { // try { // Thread.sleep(10000); // System.out.println("SubThread over"); // } catch (InterruptedException ex) { // System.out.println("SubThread interrupted"); // } // } // }); // // tr.start(); // // try { // tr.join(500); // } catch (InterruptedException ex) { // System.out.println("Join stopped"); // } // if (tr.isAlive()) // tr.stop(); // System.out.println("Join over"); } public static void main(String[] args) { String src = "MyVar$$_IN"; System.out.println("Replace xxx : <" + src.replaceAll("\\$\\$", "xxx") + "> [" + src + "]"); JFrame f = new JFrame("Dir < 0"); f.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); f.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); // Gestion du bouton close //Math.floor(0.0); ZoomSutPane t = new ZoomSutPane(); f.getContentPane().add(t, BorderLayout.CENTER); JPanel upper = new JPanel(); final JComboBox cb = new JComboBox(new String[] {"0", "1", "2", "4"}); cb.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.out.println("ComboBox select : " + cb.getSelectedItem()); } }); upper.add(cb); JButton b = new JButton("Ok"); // b.imageUpdate(null, 0, 0, 0, 0, 0); b.addMouseListener(new BorderWritter(b)); b.paintComponents(null); upper.add(b); b = new JButton("Normal"); // b.addMouseListener(new BorderWritter(b)); upper.add(b); f.getContentPane().add(upper, BorderLayout.NORTH); f.pack(); f.setVisible(true); t.start(); } public static class BorderWritter implements java.awt.event.MouseListener { JButton b; boolean in = false; Border sensitivePressed = null; Border unSensitive = null; Border sensitive = null; JComponent j; public BorderWritter(JButton b) { this.b = b; sensitivePressed = BorderFactory.createBevelBorder(BevelBorder.LOWERED); // sensitivePressed = new javax.swing.plaf.BorderUIResource.BevelBorderUIResource(BevelBorder.LOWERED); // sensitive = BorderFactory.createBevelBorder(BevelBorder.RAISED); sensitive = new javax.swing.plaf.BorderUIResource.BevelBorderUIResource(BevelBorder.RAISED); Insets inset = sensitive.getBorderInsets(b); unSensitive = BorderFactory.createEmptyBorder(inset.top, inset.left, inset.bottom, inset.right); if (b.getBorder() instanceof CompoundBorder) { CompoundBorder bd = (CompoundBorder) b.getBorder(); Border in = bd.getInsideBorder(); sensitivePressed = BorderFactory.createCompoundBorder(sensitivePressed, in); sensitive = BorderFactory.createCompoundBorder(sensitive, in); unSensitive = BorderFactory.createCompoundBorder(unSensitive, in); } b.setBorder(unSensitive); // b.setRolloverEnabled(true); } public void mouseClicked(java.awt.event.MouseEvent e) {} public void mouseEntered(java.awt.event.MouseEvent e) { in = true; if (b.isEnabled()) { if (b.getModel().isPressed()) { b.setBorder(sensitivePressed); } else if ((e.getModifiers() & MouseEvent.BUTTON1_MASK) == 0) { b.setBorder(sensitive); } } } public void mouseExited(java.awt.event.MouseEvent e) { // System.out.print("!"); // System.out.flush(); in = false; // if (b.getModel().isPressed()) // b.setBorder(sensitivePressed); // else b.setBorder(unSensitive); } public void mousePressed(java.awt.event.MouseEvent e) { b.setBorder(sensitivePressed); } public void mouseReleased(java.awt.event.MouseEvent e) { if (in && b.isEnabled()) { b.setBorder(sensitive); } else { b.setBorder(unSensitive); } } } } // endClass ZoomTest