Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > Создание компонента


Автор: Exai1e 9.6.2008, 21:11
Здрасти, возник вот такой вопрос:
(незнал в каком разделе создать данную тему (вроде и апплеты используются и swing да и вопрос по большей части "Общий", но выбор пал на этот раздел)
Есть код основного класса:
Код

import javax.swing.*;

public class CalcApp extends JApplet {
   
    AppGUI g;
        
    public void init()
    {
        g = new AppGUI();
    }
}


Код дополнительного класса
Код

import javax.swing.*;
import java.awt.event.*;

public class AppGUI extends JButton implements ActionListener
{
    private JButton btnMain = new JButton("Button 1");
        
    public void AppGUI()
    {
        btnMain.setLocation(20, 20);
        btnMain.setSize(25,25);
        setLayout(null);
        add(btnMain);
    }
    
    public void actionPerformed(ActionEvent ae)
    {
        if (ae.getSource() == btnMain)
        {
            //some code
        }
    }
}


При старте кнопка не создается, но если это код
Код

...
        btnMain.setLocation(20, 20);
        btnMain.setSize(25,25);
        setLayout(null);
        add(btnMain);
...

Добавить в основной класс, то кнопка нормально создается, мб
Код

        setLayout(null);
        add(btnMain);

надо делать в основном классе, тоесть добавлять элементы.
Спасибо.

Добавлено через 2 минуты и 7 секунд
ps.
output вот что выдает
Код

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: component argument pData
        at sun.awt.windows.Win32SurfaceData.initOps(Native Method)
        at sun.awt.windows.Win32SurfaceData.<init>(Win32SurfaceData.java:448)
        at sun.awt.windows.Win32SurfaceData.createData(Win32SurfaceData.java:316)
        at sun.awt.Win32GraphicsConfig.createSurfaceData(Win32GraphicsConfig.java:357)
        at sun.awt.windows.WComponentPeer.replaceSurfaceData(WComponentPeer.java:332)
        at sun.awt.windows.WComponentPeer.replaceSurfaceData(WComponentPeer.java:313)
        at sun.awt.windows.WComponentPeer$2.run(WComponentPeer.java:353)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

Автор: Exai1e 10.6.2008, 09:03
Вопрос решен, всем спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)