На нашем сайте www.nookery.ru вы сможете без труда научится программировать на языке java с нуля. Уроки программирования ориентированы для начинающий, не имеющих опыта программирования людей. Вы без труда пройдете все имеющиеся занятия, включающие основные моменты в области программировании. В каждом из занятий присутствует тестовые задания java. После выполнения одного из задания по программированию на java, […]
Рубрика: Уроки Java
Числа Фибоначчи.
Математика в программировании является основой основ, фундаментом. Без математики не было не то что, тех вещей, что нас окружают нас, но и программ которые мы с вами пишем, именно здесь и заложены задатки математики. Сегодня мы поговорим о числа Фибоначчи. Как мы знаем из истории настоящим именем Фибоначчи было Леонардо Пизано. Итальянец который жил между […]
Как реализовать Drag & Drop функциональность в своем приложения
В java хорошо проиллюстрирован способ реализации Drag & Drop функциональности приложения. Разработчик может использовать этот совет, чтобы обеспечить дополнительную функциональность перетаскивания для своих пользователей. Совет также включает в себя способ определения типа перетаскиваемого объекта. Это в дальнейшем может помочь разработчикам изменить свойства перетаскиваемого объекта.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
import java.awt.*; import java.awt.dnd.*; import java.awt.datatransfer.*; import java.awt.event.*; import java.io.*; import java.util.*; import javax.swing.*; public class DropTest2 extends JFrame implements DropTargetListener { DropTarget dt; JTextArea ta; public DropTest2() { super("Drop Test"); setSize(300,300); addWindowListener(new BasicWindowMonitor()); getContentPane().add( new JLabel("Drop a list from your file chooser here:"), BorderLayout.NORTH); ta = new JTextArea(); ta.setBackground(Color.white); getContentPane().add(ta, BorderLayout.CENTER); // Создали нашу текстовую область // Этот класс будет обрабатывать события dt = new DropTarget(ta, this); setVisible(true); } public void dragEnter(DropTargetDragEvent dtde) { System.out.println("Drag Enter"); } public void dragExit(DropTargetEvent dte) { System.out.println("Drag Exit"); } public void dragOver(DropTargetDragEvent dtde) { System.out.println("Drag Over"); } public void dropActionChanged(DropTargetDragEvent dtde) { System.out.println("Drop Action Changed"); } public void drop(DropTargetDropEvent dtde) { try { // Получаем объект и пытаемся выяснить что это Transferable tr = dtde.getTransferable(); DataFlavor[] flavors = tr.getTransferDataFlavors(); for (int i = 0; i < flavors.length; i++) { System.out.println("Possible flavor: " + flavors[i].getMimeType()); // Проверка списков файлов if (flavors[i].isFlavorJavaFileListType()) { // Великолепно, теперь перетаскиваем... dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE); ta.setText("Successful file list drop.\n\n"); // And add the list of file names to our text area java.util.List list = (java.util.List)tr.getTransferData(flavors[i]); for (int j = 0; j < list.size(); j++) { ta.append(list.get(j) + "\n"); } // Если дошли до сюда, значит все хорошо dtde.dropComplete(true); return; } // это другой java-объект? else if (flavors[i].isFlavorSerializedObjectType()) { dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE); ta.setText("Successful text drop.\n\n"); Object o = tr.getTransferData(flavors[i]); ta.append("Object: " + o); dtde.dropComplete(true); return; } // Как насчет входной поток? else if (flavors[i].isRepresentationClassInputStream()) { dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE); ta.setText("Successful text drop.\n\n"); ta.read(new InputStreamReader( (InputStream)tr.getTransferData(flavors[i])), "from system clipboard"); dtde.dropComplete(true); return; } } // пользователь не должен иметь за список файл System.out.println("Drop failed: " + dtde); dtde.rejectDrop(); } catch (Exception e) { e.printStackTrace(); dtde.rejectDrop(); } } public static void main(String args[]) { new DropTest2(); } } |
Как создать редактируемый combobox, который включает в себя текст и значки
Рассмотрим пример в java на базе Swing создания редактируемый combobox, который включают в себя как текст и так и иконки. Верхушка демонстрирует причудливый пример jcombobox с настраиваемой визуализацией и редактором. Пользовательское средство визуализации и редактор используется для отображения списка объектов jlabel он и включать в себя как текст и иконки.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
import java.awt.*; import java.awt.event.*; import java.util.*; import javax.swing.*; public class EditableComboBox extends JPanel { private BookEntry books[] = { new BookEntry("Ant: The Definitive Guide", "covers/ant.gif"), new BookEntry("Database Programming with JDBC and Java", "covers/jdbc.gif"), new BookEntry("Developing Java Beans", "covers/beans.gif"), new BookEntry("Developing JSP Custom Tag Libraries", "covers/jsptl.gif"), new BookEntry("Java 2D Graphics", "covers/java2d.gif"), new BookEntry("Java and XML", "covers/jxml.gif"), new BookEntry("Java and XSLT", "covers/jxslt.gif"), new BookEntry("Java and SOAP", "covers/jsoap.gif"), new BookEntry("Java and XML Data Binding", "covers/jxmldb.gif"), new BookEntry("Java Cookbook", "covers/jcook.gif"), new BookEntry("Java Cryptography", "covers/jcrypto.gif"), new BookEntry("Java Distributed Computing", "covers/jdist.gif"), new BookEntry("Java I/O", "covers/javaio.gif"), new BookEntry("Java in a Nutshell", "covers/javanut.gif"), new BookEntry("Java Management Extensions", "covers/jmx.gif"), new BookEntry("Java Message Service", "covers/jms.gif"), new BookEntry("Java Network Programming", "covers/jnetp.gif"), new BookEntry("Java Performance Tuning", "covers/jperf.gif"), new BookEntry("Java RMI", "covers/jrmi.gif"), new BookEntry("Java Security", "covers/jsec.gif"), new BookEntry("JavaServer Pages", "covers/jsp.gif"), new BookEntry("Java Servlet Programming", "covers/servlet.gif"), new BookEntry("Java Swing", "covers/swing.gif"), new BookEntry("Java Threads", "covers/jthread.gif"), new BookEntry("Java Web Services", "covers/jws.gif"), new BookEntry("Learning Java", "covers/learnj.gif") }; Map bookMap = new HashMap(); public EditableComboBox() { // Build a mapping from book titles to their entries for (int i = 0 ; i < books.length; i++) { bookMap.put(books[i].getTitle(), books[i]); } setLayout(new BorderLayout()); JComboBox bookCombo = new JComboBox(books); bookCombo.setEditable(true); bookCombo.setEditor( new ComboBoxEditorExample(bookMap, books[0])); bookCombo.setMaximumRowCount(4); bookCombo.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.out.println("You chose " + ( (JComboBox)e.getSource()).getSelectedItem() + "!"); } }); bookCombo.setActionCommand("Hello"); add(bookCombo, BorderLayout.CENTER); } public static void main(String s[]) { JFrame frame = new JFrame("Combo Box Example"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setContentPane(new EditableComboBox()); frame.pack(); frame.setVisible(true); } } |