public SwingDnDFrame() { setTitle("SwingDnDTest"); JTabbedPane tabbedPane = new JTabbedPane(); JList list = SampleComponents.list(); tabbedPane.addTab("List", list); JTable table = SampleComponents.table(); tabbedPane.addTab("Table", table); JTree tree = SampleComponents.tree(); tabbedPane.addTab("Tree", tree); JFileChooser fileChooser = new JFileChooser(); tabbedPane.addTab("File Chooser", fileChooser); JColorChooser colorChooser = new JColorChooser(); tabbedPane.addTab("Color Chooser", colorChooser); final JTextArea textArea = new JTextArea(4, 40); JScrollPane scrollPane = new JScrollPane(textArea); scrollPane.setBorder(new TitledBorder(new EtchedBorder(), "Drag text here")); JTextField textField = new JTextField("Drag color here"); textField.setTransferHandler(new TransferHandler("background")); tabbedPane.addChangeListener( new ChangeListener() { public void stateChanged(ChangeEvent e) { textArea.setText(""); } }); tree.setDragEnabled(true); table.setDragEnabled(true); list.setDragEnabled(true); fileChooser.setDragEnabled(true); colorChooser.setDragEnabled(true); textField.setDragEnabled(true); add(tabbedPane, BorderLayout.NORTH); add(scrollPane, BorderLayout.CENTER); add(textField, BorderLayout.SOUTH); pack(); }
public Animation() { String[] keys = {"no Animator found"}; if (tryDir(".")) // || tryDir("BLM305") || tryDir("CSE470")) keys = map.keySet().toArray(keys); System.out.println(map.size() + " classes loaded"); menu = new JComboBox(keys); pan.setLayout(new BorderLayout(GAP, GAP - 4)); pan.setBorder(new javax.swing.border.EmptyBorder(GAP, GAP, GAP, GAP)); pan.setBackground(COLOR); last = new JPanel(); last.setPreferredSize(DIM); pan.add(last, "Center"); ref.setFont(NORM); ref.setEditable(false); ref.setColumns(35); ref.setDragEnabled(true); pan.add(ref, "North"); pan.add(bottomPanel(), "South"); pan.setToolTipText("A collective project for BLM320"); menu.setToolTipText("Animator classes"); who.setToolTipText("author()"); ref.setToolTipText("description()"); Closer ear = new Closer(); menu.addActionListener(ear); stop.addActionListener(ear); frm.addWindowListener(ear); if (map.size() > 0) setItem(0); frm.setContentPane(pan); frm.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); frm.setLocation(scaled(120), scaled(90)); frm.pack(); // setSize() is called here frm.setVisible(true); start(); }
public GUI() { String[] keys = {"no Quotation found"}; if (tryDir(".") || tryDir("BLM305") || tryDir("CSE470")) keys = Q.keySet().toArray(keys); menu = new JComboBox<String>(keys); if (Q.size() > 0) setMessage(0); JPanel pan = new JPanel(); pan.setLayout(new BorderLayout(GAP, GAP - 4)); pan.setBorder(new javax.swing.border.EmptyBorder(GAP, GAP, GAP, GAP)); pan.setBackground(COLOR); pan.add(topPanel(), "North"); txt.setFont(LARGE); txt.setEditable(false); txt.setRows(5); txt.setColumns(30); txt.setWrapStyleWord(true); txt.setLineWrap(true); txt.setDragEnabled(true); pan.add(new JScrollPane(txt), "Center"); ref.setFont(SMALL); ref.setEditable(false); ref.setColumns(35); ref.setDragEnabled(true); pan.add(ref, "South"); pan.setToolTipText("A project realized collectively by the class"); menu.setToolTipText("Quotation classes"); who.setToolTipText("author()+year()"); txt.setToolTipText("text()"); ref.setToolTipText("reference()"); frm.setContentPane(pan); frm.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); frm.setLocation(scaled(120), scaled(90)); frm.pack(); frm.setVisible(true); }
/** * Initialize the frame. * * @param info true if additional information is desired */ private void init(boolean info) { _buttonPressed = null; addComponentListener( new java.awt.event.ComponentAdapter() { public void componentResized(ComponentEvent e) { validate(); _matchList.ensureIndexIsVisible(_matchList.getSelectedIndex()); } }); // buttons int i = 0; for (final CloseAction<T> a : _actions) { _buttons[i] = new JButton(a.getName()); final String tooltip = a.getToolTipText(); if (tooltip != null) { _buttons[i].setToolTipText(tooltip); } _buttons[i].addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { buttonPressed(a); } }); ++i; } getRootPane().setDefaultButton(_buttons[0]); _strategyBox.setEditable(false); _strategyBox.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { // System.out.println("set strategy!"); selectStrategy(); } }); _strategyBox.addFocusListener( new FocusAdapter() { public void focusLost(FocusEvent e) { boolean bf = false; for (JButton b : _buttons) { if (e.getOppositeComponent() == b) { bf = true; break; } } if ((e.getOppositeComponent() != _textField) && (!bf)) { for (JComponent c : _optionalComponents) { if (e.getOppositeComponent() == c) { return; } } _textField.requestFocus(); } } }); // text field _textField.setDragEnabled(false); _textField.setFocusTraversalKeysEnabled(false); addListener(); Keymap ourMap = JTextComponent.addKeymap("PredictiveInputFrame._textField", _textField.getKeymap()); for (final CloseAction<T> a : _actions) { KeyStroke ks = a.getKeyStroke(); if (ks != null) { ourMap.addActionForKeyStroke( ks, new AbstractAction() { public void actionPerformed(ActionEvent e) { buttonPressed(a); } }); } } ourMap.addActionForKeyStroke( KeyStroke.getKeyStroke(KeyEvent.VK_TAB, 0), new AbstractAction() { public void actionPerformed(ActionEvent e) { // System.out.println("tab!"); removeListener(); _pim.extendSharedMask(); updateTextField(); updateExtensionLabel(); updateList(); addListener(); } }); ourMap.addActionForKeyStroke( KeyStroke.getKeyStroke(KeyEvent.VK_UP, 0), new AbstractAction() { public void actionPerformed(ActionEvent e) { // System.out.println("up!"); if (_matchList.getModel().getSize() > 0) { removeListener(); int i = _matchList.getSelectedIndex(); if (i > 0) { _matchList.setSelectedIndex(i - 1); _matchList.ensureIndexIsVisible(i - 1); _pim.setCurrentItem(_pim.getMatchingItems().get(i - 1)); updateInfo(); } addListener(); } } }); ourMap.addActionForKeyStroke( KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, 0), new AbstractAction() { public void actionPerformed(ActionEvent e) { // System.out.println("down!"); if (_matchList.getModel().getSize() > 0) { removeListener(); int i = _matchList.getSelectedIndex(); if (i < _matchList.getModel().getSize() - 1) { _matchList.setSelectedIndex(i + 1); _matchList.ensureIndexIsVisible(i + 1); _pim.setCurrentItem(_pim.getMatchingItems().get(i + 1)); updateInfo(); } addListener(); } } }); ourMap.addActionForKeyStroke( KeyStroke.getKeyStroke(KeyEvent.VK_PAGE_UP, 0), new AbstractAction() { public void actionPerformed(ActionEvent e) { // System.out.println("page up!"); if (_matchList.getModel().getSize() > 0) { removeListener(); int page = _matchList.getLastVisibleIndex() - _matchList.getFirstVisibleIndex() + 1; int i = _matchList.getSelectedIndex() - page; if (i < 0) i = 0; _matchList.setSelectedIndex(i); _matchList.ensureIndexIsVisible(i); _pim.setCurrentItem(_pim.getMatchingItems().get(i)); updateInfo(); addListener(); } } }); ourMap.addActionForKeyStroke( KeyStroke.getKeyStroke(KeyEvent.VK_PAGE_DOWN, 0), new AbstractAction() { public void actionPerformed(ActionEvent e) { // System.out.println("page down!"); if (_matchList.getModel().getSize() > 0) { removeListener(); int page = _matchList.getLastVisibleIndex() - _matchList.getFirstVisibleIndex() + 1; int i = _matchList.getSelectedIndex() + page; if (i >= _matchList.getModel().getSize()) { i = _matchList.getModel().getSize() - 1; } _matchList.setSelectedIndex(i); _matchList.ensureIndexIsVisible(i); _pim.setCurrentItem(_pim.getMatchingItems().get(i)); updateInfo(); addListener(); } } }); _textField.setKeymap(ourMap); _textField.addFocusListener( new FocusAdapter() { public void focusLost(FocusEvent e) { boolean bf = false; for (JButton b : _buttons) { if (e.getOppositeComponent() == b) { bf = true; break; } } if ((e.getOppositeComponent() != _strategyBox) && (!bf)) { for (JComponent c : _optionalComponents) { if (e.getOppositeComponent() == c) { return; } } _textField.requestFocus(); } } }); _matchList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); _matchList.addListSelectionListener( new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { // System.out.println("click!"); removeListener(); int i = _matchList.getSelectedIndex(); if (i >= 0) { _pim.setCurrentItem(_pim.getMatchingItems().get(i)); _matchList.ensureIndexIsVisible(i); updateInfo(); } addListener(); } }); // put everything together Container contentPane = getContentPane(); GridBagLayout layout = new GridBagLayout(); contentPane.setLayout(layout); GridBagConstraints c = new GridBagConstraints(); c.anchor = GridBagConstraints.NORTHWEST; c.weightx = 1.0; c.weighty = 0.0; c.gridwidth = GridBagConstraints.REMAINDER; // end row c.insets.top = 2; c.insets.left = 2; c.insets.bottom = 2; c.insets.right = 2; if (info) { c.fill = GridBagConstraints.NONE; contentPane.add(_infoLabel, c); } c.fill = GridBagConstraints.BOTH; c.weighty = 1.0; contentPane.add( new JScrollPane( _matchList, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED), c); c.anchor = GridBagConstraints.SOUTHWEST; c.fill = GridBagConstraints.NONE; c.weightx = 0.0; c.weighty = 0.0; c.gridwidth = 1; contentPane.add(_tabCompletesLabel, c); c.fill = GridBagConstraints.HORIZONTAL; c.weightx = 1.0; c.gridwidth = GridBagConstraints.REMAINDER; contentPane.add(_sharedExtLabel, c); contentPane.add(_textField, c); _optionalComponents = makeOptions(); if (_optionalComponents.length > 0) { _optionsPanel = new JPanel(new BorderLayout()); _setupOptionsPanel(_optionalComponents); contentPane.add(_optionsPanel, c); } c.anchor = GridBagConstraints.SOUTHWEST; c.weightx = 1.0; c.weighty = 0.0; c.gridwidth = GridBagConstraints.REMAINDER; // end row c.insets.top = 2; c.insets.left = 2; c.insets.bottom = 2; c.insets.right = 2; JPanel buttonPanel = new JPanel(new GridBagLayout()); GridBagConstraints bc = new GridBagConstraints(); bc.insets.left = 2; bc.insets.right = 2; buttonPanel.add(new JLabel("Matching strategy:"), bc); buttonPanel.add(_strategyBox, bc); for (JButton b : _buttons) { buttonPanel.add(b, bc); } contentPane.add(buttonPanel, c); pack(); // Dimension parentDim = (_owner != null) ? _owner.getSize() : getToolkit().getScreenSize(); //// int xs = (int) parentDim.getWidth()/3; // int ys = (int) parentDim.getHeight()/4; //// in line below, parentDim was _owner.getSize(); changed because former could generate // NullPointerException // setSize(new Dimension((int) getSize().getWidth(), (int)Math.min(parentDim.getHeight(), // Math.max(ys, 300)))); if (_owner != null) { setLocationRelativeTo(_owner); } removeListener(); updateTextField(); addListener(); updateList(); }
public DefaultDnDSupport() { JFrame fen = new JFrame("DnD et CCP"); fen.getContentPane().setLayout(new FlowLayout(FlowLayout.CENTER)); fen.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Panel gauche JPanel panelgauche = new JPanel(); panelgauche.setLayout(new BoxLayout(panelgauche, BoxLayout.Y_AXIS)); // JTextField JTextField textField = new JTextField(10); textField.setBorder( BorderFactory.createCompoundBorder( BorderFactory.createTitledBorder("JTextField"), BorderFactory.createEmptyBorder(5, 5, 5, 5))); textField.setDragEnabled(true); // JPasswordField JPasswordField passwordField = new JPasswordField(10); passwordField.setBorder( BorderFactory.createCompoundBorder( BorderFactory.createTitledBorder("JPasswordField"), BorderFactory.createEmptyBorder(5, 5, 5, 5))); passwordField.setDragEnabled(true); // JFormattedTextField JFormattedTextField ftf = new JFormattedTextField("Universite de Lille 1"); ftf.setFont(new Font("Courier", Font.ITALIC, 12)); ftf.setBorder( BorderFactory.createCompoundBorder( BorderFactory.createTitledBorder("JFormattedTextField"), BorderFactory.createEmptyBorder(5, 5, 5, 5))); ftf.setDragEnabled(true); // JTextArea JTextArea jta = new JTextArea("Master 1 informatique"); jta.setFont(new Font("Arial", Font.BOLD, 12)); jta.setBorder( BorderFactory.createCompoundBorder( BorderFactory.createTitledBorder("JTextArea"), BorderFactory.createEmptyBorder(5, 5, 5, 5))); jta.setDragEnabled(true); // JEditorPane JEditorPane editorPane = createEditorPane(); editorPane.setDragEnabled(true); JScrollPane editorScrollPane = new JScrollPane(editorPane); editorScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); editorScrollPane.setBorder( BorderFactory.createCompoundBorder( BorderFactory.createTitledBorder("JEditorPane"), BorderFactory.createEmptyBorder(5, 5, 5, 5))); // JColorChooser JColorChooser cc = new JColorChooser(); cc.setDragEnabled(true); cc.setBorder( BorderFactory.createCompoundBorder( BorderFactory.createTitledBorder("JColorChooser"), BorderFactory.createEmptyBorder(5, 5, 5, 5))); // Panel droit JPanel paneldroit = new JPanel(); paneldroit.setLayout(new BoxLayout(paneldroit, BoxLayout.Y_AXIS)); // JList String[] data = { "AAC", "AEV", "ANG", "ASE", "COA", "PJE", "CAR", "PJI", "AeA", "BDA", "CALP", "FDD", "HECI", "IHM", "M3DS", "PAC", "PPD", "RdF", "SVL", "TI" }; JList liste = new JList(data); JScrollPane jscrollListe = new JScrollPane(liste); jscrollListe.setBorder( BorderFactory.createCompoundBorder( BorderFactory.createTitledBorder("JList"), BorderFactory.createEmptyBorder(5, 5, 5, 5))); // liste.setDragEnabled(true); // JTree DefaultMutableTreeNode m1 = new DefaultMutableTreeNode("M1"); DefaultMutableTreeNode s1 = new DefaultMutableTreeNode("S1"); m1.add(s1); s1.add(new DefaultMutableTreeNode("AAC")); s1.add(new DefaultMutableTreeNode("AEV")); s1.add(new DefaultMutableTreeNode("ANG")); s1.add(new DefaultMutableTreeNode("ASE")); s1.add(new DefaultMutableTreeNode("COA")); s1.add(new DefaultMutableTreeNode("PJE")); DefaultMutableTreeNode s2 = new DefaultMutableTreeNode("S2"); m1.add(s2); s2.add(new DefaultMutableTreeNode("CAR")); s2.add(new DefaultMutableTreeNode("PJI")); s2.add(new DefaultMutableTreeNode("AeA")); s2.add(new DefaultMutableTreeNode("BDA")); s2.add(new DefaultMutableTreeNode("CALP")); s2.add(new DefaultMutableTreeNode("FDD")); s2.add(new DefaultMutableTreeNode("HECI")); s2.add(new DefaultMutableTreeNode("IHM")); s2.add(new DefaultMutableTreeNode("M3DS")); s2.add(new DefaultMutableTreeNode("PAC")); s2.add(new DefaultMutableTreeNode("PPD")); s2.add(new DefaultMutableTreeNode("RdF")); s2.add(new DefaultMutableTreeNode("SVL")); s2.add(new DefaultMutableTreeNode("TI")); JTree tree = new JTree(m1); // tree.setDragEnabled(true); JScrollPane jscrollTree = new JScrollPane(tree); jscrollTree.setBorder( BorderFactory.createCompoundBorder( BorderFactory.createTitledBorder("JTree"), BorderFactory.createEmptyBorder(5, 5, 5, 5))); jscrollTree.setPreferredSize(new Dimension(200, 200)); // JTable String[] columnNames = {"S1", "S2"}; Object[][] data2 = { {"AAC", "CAR"}, {"AEV", "PJI"}, {"ANG", "AeA"}, {"ASE", "BDA"}, {"COA", "CALP"}, {"PJE", "FDD"}, {"", "HECI"}, {"", "IHM"}, {"", "M3DS"}, {"", "PAC"}, {"", "PPD"}, {"", "RdF"}, {"", "SVL"}, {"", "TI"} }; JTable table = new JTable(data2, columnNames); JScrollPane scrollPaneTable = new JScrollPane(table); table.setDragEnabled(true); // JFileChooser JFileChooser fc = new JFileChooser(); fc.setBorder( BorderFactory.createCompoundBorder( BorderFactory.createTitledBorder("JFileChooser"), BorderFactory.createEmptyBorder(5, 5, 5, 5))); fc.setDragEnabled(true); panelgauche.add(textField); panelgauche.add(passwordField); panelgauche.add(ftf); panelgauche.add(jta); panelgauche.add(cc); panelgauche.add(editorScrollPane); fen.getContentPane().add(panelgauche); paneldroit.add(fc); paneldroit.add(jscrollListe); paneldroit.add(jscrollTree); paneldroit.add(scrollPaneTable); fen.getContentPane().add(paneldroit); fen.pack(); fen.setVisible(true); }