Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создать граф в апплете... 
:(
    Опции темы
STAER13
Дата 5.3.2008, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 5.3.2008

Репутация: нет
Всего: нет



Помогите рандомно задать граф.... если можно используя библеотеку JANG
PM MAIL   Вверх
LSD
Дата 5.3.2008, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Возьми вершины с координатами [1,2] [7,3] и [5,10], и соедени их каждую с каждой.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
STAER13
  Дата 5.3.2008, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 5.3.2008

Репутация: нет
Всего: нет



LSD
Скажи пожалуста чего в этом коде не так... апплет запускаеться, но ничего не выводит...
Код

import java.awt.Component;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;

import javax.swing.BorderFactory;
import javax.swing.BoxLayout;
import javax.swing.JApplet;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
import javax.swing.JComboBox;

import edu.uci.ics.jung.algorithms.shortestpath.DijkstraShortestPath;
import edu.uci.ics.jung.graph.Edge;
import edu.uci.ics.jung.graph.Graph;
import edu.uci.ics.jung.graph.Vertex;
import edu.uci.ics.jung.graph.decorators.StringLabeller;
import edu.uci.ics.jung.graph.decorators.StringLabeller.UniqueLabelException;
import edu.uci.ics.jung.graph.impl.DirectedSparseGraph;
import edu.uci.ics.jung.random.generators.EppsteinPowerLawGenerator;
import edu.uci.ics.jung.visualization.FRLayout;
import edu.uci.ics.jung.visualization.PluggableRenderer;
import edu.uci.ics.jung.visualization.ShapePickSupport;
import edu.uci.ics.jung.visualization.VisualizationViewer;
import edu.uci.ics.jung.visualization.control.DefaultModalGraphMouse;
import edu.uci.ics.jung.visualization.control.ModalGraphMouse;


public class kurs extends JApplet implements ActionListener {
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    protected static Graph g;
    protected static Vertex[] v;
    protected static Edge[] e;
    protected static StringLabeller slc;
    protected static VisualizationViewer vv;
    protected static PluggableRenderer pr;
    static Vertex mFrom;
    static Vertex mTo;
    protected static int dist;
    protected static String list;
    
    public static Graph Ggraph() {
        g = new DirectedSparseGraph();
        v = new Vertex[26];
        e = new Edge[50];

        g = (Graph) new EppsteinPowerLawGenerator(26, 50, 50).generateGraph();

        StringLabeller sl = StringLabeller.getLabeller(g);
        int c = 0;
        for (Iterator iter = g.getVertices().iterator(); iter.hasNext();) {
            Vertex v = (Vertex) iter.next();
            try {
                sl.setLabel(v, "" + c);

            } catch (UniqueLabelException e) {
            }
            c++;
        }
        return g;
    }
    
    private static JPanel setUpControls() {
        JPanel jp = new JPanel();

        jp.setBackground(Color.WHITE);
        jp.setLayout(new BoxLayout(jp, BoxLayout.PAGE_AXIS));
        jp.setBorder(BorderFactory.createLineBorder(Color.black, 3));

        JPanel jp2 = new JPanel();
        jp2.add(new JLabel("Введите количество итераций:", SwingConstants.LEFT));
        jp2.add(getSelectionBox(true));
        jp2.setBackground(Color.white);
        jp.add(jp2);
        return jp2;
    }
    
    private static Component getSelectionBox(final boolean from) {
        StringLabeller sl = StringLabeller.getLabeller(g);
        Set<String> s = new TreeSet<String>();

        for (Iterator iter = g.getVertices().iterator(); iter.hasNext();) {
            s.add(sl.getLabel((Vertex) iter.next()));
        }
        final JComboBox choices = new JComboBox(s.toArray());
        choices.setSelectedIndex(-1);
        choices.setBackground(Color.WHITE);
        choices.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                StringLabeller sl = StringLabeller.getLabeller(g);
                Vertex v = sl.getVertex((String) choices.getSelectedItem());
                if (from) {
                    mFrom = v;
                } else {
                    mTo = v;
                }
                drawShortest();
            }

        });

        return choices;
    }

    protected static void drawShortest() {
        if (mFrom == null || mTo == null) {
            return;
        }
        DijkstraShortestPath dsp = new DijkstraShortestPath(g);
        try {
            Number n = dsp.getDistance(mFrom, mTo);
            dist = n.intValue();
        } catch (IllegalArgumentException iae) {
        }
        try {
            list = dsp.getPath(mFrom, mTo).toString();
        } catch (IllegalArgumentException iae) {
        }
    }
    
    

    @SuppressWarnings("deprecation")
    public static void main(String[] args) {
        Ggraph();

        FRLayout l = new FRLayout(g);
        PluggableRenderer r = new PluggableRenderer();

        vv = new VisualizationViewer(l, r);
        vv.setPickSupport(new ShapePickSupport());
        vv.setBackground(Color.WHITE);
        vv.setForeground(Color.darkGray);
        ModalGraphMouse gm = new DefaultModalGraphMouse();
        vv.setGraphMouse(gm);

        JFrame jf = new JFrame();
        jf.getContentPane().add(vv, BorderLayout.CENTER);
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        jf.getContentPane().add(setUpControls(), BorderLayout.SOUTH);

        jf.pack();
        jf.show();
    }
    public void actionPerformed(ActionEvent arg0) {
        // TODO Auto-generated method stub
        
    }

}

PM MAIL   Вверх
LSD
Дата 5.3.2008, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Не знаю, у меня нет классов из edu.uci.ics.jung, так что запустить его не могу.

Как ты вообще его запускаешь? Java console смотрел, там нет ошибок?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
STAER13
Дата 5.3.2008, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 5.3.2008

Репутация: нет
Всего: нет



Запускаю через апплеты... Никаких ошибок не выдает... выводит пустой апплет и всё((
PM MAIL   Вверх
LSD
Дата 6.3.2008, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата(STAER13 @  5.3.2008,  18:33 Найти цитируемый пост)
Запускаю через апплеты... 

Это как? В браузере или IDE?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
STAER13
Дата 6.3.2008, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 5.3.2008

Репутация: нет
Всего: нет



Цитата(LSD @ 6.3.2008,  14:06)
Это как? В браузере или IDE?

через эклипс))
PM MAIL   Вверх
newsTester
Дата 12.4.2008, 00:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 29.3.2008

Репутация: нет
Всего: нет



а перерисовка компонентов у Вас где вызывается? Может в ней проблема?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Апплеты | Следующая тема »


 




[ Время генерации скрипта: 0.0680 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.