![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| maxxxover |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 3.12.2008 Репутация: нет Всего: нет |
Народ, посоветуйте средствами какой библиотеки лучше сделать визуализацию графа AWT или Swing? Необходимо чтобы поле было, в котором мы будем создавать граф, ну и пару кнопочек. Джаву знаю не очень(но думаю с С++ перейти будет не очень сложно).
я тут попробовал реализовать некую базу для создания графа, но что-то дело далеко не продвинулось.
При нажатии клавиши мыши создаётся кружочек, но при перетаскивании этого кружочка у меня возникают проблемы с перерисовкой(кружочек перетаскивается, но на его месте остаётся копия). я думаю это связано с корявым применением двойной буферизации. Буду очень признателен, если вы поможете указать где я накосячил. |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 10 Всего: 118 |
Swing
|
|||
|
||||
| kamre |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 24.3.2006 Репутация: 2 Всего: 13 |
||||
|
||||
| maxxxover |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 3.12.2008 Репутация: нет Всего: нет |
судя по предаставленным примерам, отличная библиотека. вот только возникает вопрос как её подключить. как я понимаю, нужно скопировать в какую-то из директорий jdk?
|
|||
|
||||
| x8m6 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 11.12.2008 Репутация: нет Всего: нет |
Вот если ещё надо - моя реализация (прикреплен как rar - переименуй на jar и запускай)... посмотри... если будет что то не понятно объясню Присоединённый файл ( Кол-во скачиваний: 17 )
VisualGraphEditor.rar 355,22 Kb |
|||
|
||||
| velikiyxela |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 15.2.2009 Репутация: нет Всего: нет |
Добавлено через 8 минут и 49 секунд ПОМОГИТЕ!!!!!!! package untitled1; import java.awt.*; import java.awt.event.*; import javax.swing.*; /** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright © 2009</p> * <p>Company: </p> * @author not attributable * @version 1.0 */ public class Frame1 extends JFrame { JPanel contentPane; BorderLayout borderLayout1 = new BorderLayout(); Graphics g; //Construct the frame public Frame1() { enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } //Component initialization private void jbInit() throws Exception { contentPane = (JPanel) this.getContentPane(); contentPane.setLayout(borderLayout1); this.setSize(new Dimension(400, 300)); this.setTitle("Frame Title"); g = this.getGraphics(); g.drawLine(0, 0, 10, 10); /* ЗДЕСЬ NullPointerException */ } //Overridden so we can exit when window is closed protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); if (e.getID() == WindowEvent.WINDOW_CLOSING) { System.exit(0); } } public void paint(Graphics g){ g.drawLine(0, 0, 10, 10); /* ЗДЕСЬ ВСЁ РАБОТАЕТ.... ПОЧЕМУ?!!! ПОСМОТРИТЕ НА ПЕРВЫЙ ПРИМЕР ТЕМЫ! ТАМ ВСЁ РАОТАЕТ! ПОЧЕМУ?! */ } } } ОЧЕНЬ ПРОШУ, ПОЖАЛУЙСТА, ПОМОГИТЕ!!! НЕТ УЖЕ НИКАКОГО ТЕРПЕНИЯ!!!!!!! УМОЛЯЮ!!!!!!!!!!!!!!!!1 ПОМОГИТЕ!!!!!!!!!!!!!!!!! |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 10 Всего: 118 |
Читаем public Graphics getGraphics() Creates a graphics context for this component. This method will return null if this component is currently not displayable. Так вот JFrame еще не визуализирован по сути своей. Кроме этого - ЗАЧЕМ рисовать не в методе pain ? |
|||
|
||||
| Proger10 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 16.12.2008 Репутация: нет Всего: нет |
Подниму эту тему, покуда у меня очень схожий вопрос с последним сообщением
Насколько корректен вот такой код:
Просто почему-то я читал на форумах, что через getGraphics вообще крайне нежелательно брать контекст и отрисовывать.. А почему? Такой метод, проверил - работает. В каких-то случаях может не заработать? (кроме того, что не заработает когда панель будет не видима). добавлено Кстати. Касаемо кодов в вышеидущих сообщениях. Насколько мне известно перекрывать для отрисовки лучше метод paintComponent, а не paint, как там и делается.. Это сообщение отредактировал(а) Proger10 - 6.3.2009, 22:09 |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |