imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 08.06.2005, 18:44     # 1
marine
Guest
 
Сообщения: n/a

Question Java. Добавление визуальных объектов

Помогите. У меня есть метод который в качестве параметра принимает переменую parent, котрая являеться родительским объектом(который рисует основное окно), в который следует добавлять созданные визуальные объеты. Так вот подскажите, пожалуйста, мне КАК добавить какой либо визуальный объект из своего метода. Уже второй день мучаюсь.
 
Старый 08.06.2005, 20:06     # 2
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
Если у parent есть такие методы, которые занимаются, как ты выразился, добавлением визуальных компонентов, то проще простого, надо просто скастовать этот класс и ты получишь доступ по крайней мере ко всем паблик статик методам... я вот это имею в виду, допустим parent - это экземпляр класса MyClass у которого есть public static void printStrig(String s)... тогда в другом классе ты можешь написать вот так ((MyClass)parent).printString("my string!"); Но ты должен быть уверен, что это действительно объект этого класса... тама полно всяких методов у Object которые тебе помогут...
Или я тебя не так понял... если это не то что тебе хотелось бы узнать - напиши вопрос подробнее и желательно с кусками кода

upd: кстати я не совсем понял - это что, апплет или что?
__________________
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах

Последний раз редактировалось /7y3uK; 08.06.2005 в 20:17.
/7y3uK вне форума  
Старый 08.06.2005, 21:09     # 3
marine
Guest
 
Сообщения: n/a

В том все и дело что я не знаю какие есть методы у parentа, у меня нет возможности просмотреть код этого класса.
Это приложение.
 
Старый 08.06.2005, 21:26     # 4
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
как это? класс есть а методов ты не знаешь? даже если это джарник с бинарниками классов их можно в Идее открыть и посмотреть на методы... какие там есть... ты средой разработки какой пользуешься? посмотри на дебаге какой класснейм у этого обджекта и откастуй его... тебе после каста Идея после точки и Ctrl+Space вывалит все его методы...
__________________
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах
/7y3uK вне форума  
Старый 08.06.2005, 23:05     # 5
marine
Guest
 
Сообщения: n/a

У меня есть парсер xml, который мне надо использовать, кроме того что он перелопачивает xml файл он еще и создает главное окно, к которому мне и надо прикручивать свои компоненты. Бибиотеки парсера в джаре исходники мне не дают - говорят что и без этого все можно сделать. Вот пример, который мне дали, но он не добавляет визуальных объектов к окну, а только "вытаскивает" их xml файла. Я попытался добавить тулбар но ничего не получилось.

Код:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

public class ExampleTag 
        implements XMLComponent,AppRuntimeClient,ComponentBuilder
{
    private SysLog sysLog;
    private XMLLoader xmlLoader;
    private ComponentBuilderFactory cbf;
    private AppRuntime appRuntime; 

          /* Точка входа. Имеет зарезервированное имя. */
        /* Параметры:  parent - родительский объект, в который следует добавлять, при   необходимости, все созданные визуальные объеты. */
        
    public XMLComponent createFromXML(Node node, XMLComponent parent) throws Exception {

         /* Пример кода */
        String s = xmlLoader.getAttribute(node,"test","undef");
        appRuntime.setVar(xmlLoader.getAttribute(node,"savetovar","undef"), s);
       // добавление к окну тулбара с одной кнопкой, это я пытаюсь добавить тулбар
      toolPanel panel = new toolPanel();
       parent.add(panel);
               
                /* Пример метода печати сообщения об ошибке */
        sysLog.printLine("ExampleTag.test = " + s);
               cbf.processChildComponents(node, this);
        return null;
    }
        
}

   // панель с тулбаром
  class toolPanel extends JPanel
  {
   
    public toolPanel()
    {
      //добавляем тулбар, на нем добавляем одну кнопку 
      JToolBar bar = new JToolBar ();
      JButton b = new JButton("but_name");
      bar.add(b); //добавляем кнопку
      add (bar,BorderLayout.NORTH); // добавляем тулбар
    } 
        
  }
 
Старый 09.06.2005, 09:58     # 6
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
нет... я не понимаю какие проблемы то... во первых у меня нет пакетов с этими классами, поэтому я не могу у себя проверить этот код... я не зря спрашивал про среду разработки... В Idea или Eclipse прикручиваешь этот джарник и по Ctrl+Space - вываливается список всех методов, по Ctrl+P вываливается список нужных параметров метода - тебе просто нужно засунуть в нужный мтод нужный параметр... Потом можно Ctrl+q посмотреть вдруг тебе повезло и есть джава доки... Потом можно открыть это джарник винраром, найти в нем этот класс (расширение class), открыть в той же идее и посмотреть паблик методы какие есть у этого класса...
Если у класса XMLComponent действительно есть такой метод add, который ты пытаешься использовать и он действительно предназначен для этих целей - то напиши еррор из консоли... Т.к. слова "ничего не получилось" не дают достаточной информации, чтобы решить проблему Удачи... я искренне надеюсь, что ты пишешь код не в нотпаде и компилируешь не батником
__________________
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах
/7y3uK вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 22:44.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.