Изчертаванена ГРАФИКА в SWING |
||||
|
||||
|
|
||||
![]() ![]() |
Добърден Експеримнтирам снаправата на графичн SWING приложения и искам да направя нещо като програма за изчертаване на графики чрез бутони
Наслагах няколко компонента на немога да свържа графичният метод със същността на програмата CODE
СЪС ЗВЕЗДИЧКИ СЪМ ОТБЕЛЯЗАЛ ГРАФИЧНИЯ метод дори и ако създам обект от типа Graphics2D пак незнам как да го свържа към програмата така че да ми го визуализиа при компилирането Оставям метода празен и без нищо програмата се компилира и работи Ще съм ви благодарен ако ми кажете как да свържа метода с програмата така че когато напиша g.drawLine(10,20,30,40); Например да ми я изчертава ПРОЧЕТОХ ВСИЧКИ УРОЦИ В САИТО НА SUN и пак не намерих решение ако се налага само да изчертавам без да имам бутони става но кагато трябва да слагам компоненти и бутони и сичко друго не се получава Ще съм благодарен ако помогете с един фрагмент код не искам много предполагам |
|||
|
---------------------------
Потребител от: 31.08.08 | Всички уроци от mcmixo | Всички скриптове от mcmixo |
||||
|
|
||||
|
||||
|
|
||||
![]() ![]() |
//В метода createAndShowGUI() сложи това:
private static void createAndShowGUI(){ JFrame frame = new JFrame("[=] Hello World [=]"); Grafic_function demo = new Grafic_function(); frame.setJMenuBar(demo.create_m_b()); frame.add(demo, BorderLayout.CENTER); frame.add(demo.create_l_p(),BorderLayout.SOUTH ); frame.setSize(400, 400); frame.setVisible(true); } |
|||
|
---------------------------
Потребител от: 22.06.08 | Всички уроци от silver_fox | Всички скриптове от silver_fox |
||||
|
|
||||
|
|
||||
![]() ![]() |
МНого ти благодаря получи се но ще ми обясниш ли защо се получава точно така
|
|||
|
---------------------------
Потребител от: 31.08.08 | Всички уроци от mcmixo | Всички скриптове от mcmixo |
||||
|
|
||||
|
|
||||
![]() ![]() |
Цитат от mcmixo@31.08.2008 14:47: МНого ти благодаря получи се но ще ми обясниш ли защо се получава точно такаЗначи когато добавяш компоненти към JFrame той използва manager за да ги разположи. "Border layout manager" е подразбиращ за JForm. Какво прави този код? frame.add(demo, BorderLayout.CENTER); Разполага панела "demo" в центара на "JFrame". Но това е същото като това: "frame.add(demo)" тоест по-подразбиране ги слага в центара и го разтяга. Затова пробвай това: frame.add(demo); frame.add(demo.create_l_p()); frame.add(new JButton("test")); И ще видиш, че бутона "test" e закрил всичко! А сега пробвай това : frame.add(demo); frame.add(demo.create_l_p(), BorderLayout.SOUTH); frame.add(new JButton("test"), BorderLayout.WEST); Разбира се има и други мениджъри на разположението:"GridLayout, FlowLayout, GridBagLayout" кито можеш да ползваш frame.setLayout(new FlowLayout()); for(int i = 0; i < 10; i++)frame.add(new JButton("Button"+i)); Метода add() има втори аргумент "layout constraint" frame.add(component, layout constraint)които е удобен за "BorderLayout" А метода paintComponent(Graphics g) се вика автоматично когато има нужда от изчертаване. Ти не го викаш дирено. |
|||
|
Това мнение е редактирано от silver_fox на 31.08.2008 18:49
---------------------------
Потребител от: 22.06.08 | Всички уроци от silver_fox | Всички скриптове от silver_fox |
||||
|
|
||||
|
|
||||
![]() ![]() |
Велик си много ми помогна
|
|||
|
---------------------------
Потребител от: 31.08.08 | Всички уроци от mcmixo | Всички скриптове от mcmixo |
||||
|
|
||||
|
|
||||
![]() ![]() |
Ще ми е интересно да я погледна тази програма когато е готова.
|
|||
|
---------------------------
Потребител от: 22.06.08 | Всички уроци от silver_fox | Всички скриптове от silver_fox |
||||
|
|
||||
| 1 посетител чете тази тема (0 потребители и 1 гост) | |||
|
Активни потребители:
---
|
|||
| |||
Още по темата:
php форум,
flash форум,
html форум,
it форум,
seo форум,
vista форум,
pc форум,
css форум,
java форум,
mysql форум,
дизайн форум








