Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Не отображается кнопка

360
06 декабря 2007 года
P*t*
474 / / 15.02.2007
Я перешёл с Windows на Ubunta. Теперь пытаюсь использовать свои java-программы.

Столкнулся с такой проблемой: swing-овские компоненты как-то очень странно изображаются.
Например не работает такая программа:
Код:
import java.awt.Container;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.*;


public class Main {
    private JFrame frame = new JFrame("frame");
    private Container cont = frame.getContentPane();
    private JButton button = new JButton("Button");
    public Main() {
        frame.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
        frame.setSize(400, 400);
        cont.add(button);
        frame.setVisible(true);
    }
    public static void main(String[] args) {
        new Main();
    }
}

Окно появляется, но кнопка не рисуется :(
Посоветуйте, что делать.
63
06 декабря 2007 года
Zorkus
2.6K / / 04.11.2006
Цитата: P*t*
Я перешёл с Windows на Ubunta. Теперь пытаюсь использовать свои java-программы.

Столкнулся с такой проблемой: swing-овские компоненты как-то очень странно изображаются.
Например не работает такая программа:
Код:
import java.awt.Container;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.*;


public class Main {
    private JFrame frame = new JFrame("frame");
    private Container cont = frame.getContentPane();
    private JButton button = new JButton("Button");
    public Main() {
        frame.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
        frame.setSize(400, 400);
        cont.add(button);
        frame.setVisible(true);
    }
    public static void main(String[] args) {
        new Main();
    }
}

Окно появляется, но кнопка не рисуется :(
Посоветуйте, что делать.


Ява какая? Надеюсь, не gcj *** 1.5.*?

360
06 декабря 2007 года
P*t*
474 / / 15.02.2007
$ java -version
java version "1.5.0_13"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_13-b05)
Java HotSpot(TM) Client VM (build 1.5.0_13-b05, mixed mode, sharing)
274
06 декабря 2007 года
Lone Wolf
1.3K / / 26.11.2006
Я бы делал так.
Код:
javax.swing.*;


public class Main extends JFrame {
    private JButton button = new JButton("Button");
    public Main() {
        super("frame");
        this.setLayout(null);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        this.button.setBounds(300,340,80,20);
        this.add(button);
        this.setSize(400, 400);        
        this.setVisible(true);
    }
    public static void main(String[] args) {
        new Main();
    }
}

а вобще frame.getContentPane() начиная с 1.6 появилось....
360
07 декабря 2007 года
P*t*
474 / / 15.02.2007
Всё равно не работает - тот же результат.

Цитата:

а вобще frame.getContentPane() начиная с 1.6 появилось....


Я изучал java1.2 , там content pane было.
А вот напрямую добавлять компоненты на JFrame вродебы нельзя...

274
07 декабря 2007 года
Lone Wolf
1.3K / / 26.11.2006
ну незнаю.. у меня в 1.6 - все работает..
и в 1.5 я всегда, только так и делал..
360
07 декабря 2007 года
P*t*
474 / / 15.02.2007
Цитата:

ну незнаю.. у меня в 1.6 - все работает..
и в 1.5 я всегда, только так и делал..


Может быть это баг убунты? Ты ведь, наверное, в чём то ещё пишешь?

274
07 декабря 2007 года
Lone Wolf
1.3K / / 26.11.2006
угу. я под виндой. могу попробывать под кноппиксом и просить человека у которохо убунта. о резултатах отпишу позднее
360
07 декабря 2007 года
P*t*
474 / / 15.02.2007
Ну в винде и у меня работает...
Ещё пробовал в Федоре - там тоже всё нормально.
274
07 декабря 2007 года
Lone Wolf
1.3K / / 26.11.2006
а версии жавы совпадают?
360
07 декабря 2007 года
P*t*
474 / / 15.02.2007
В винде я раньше написал несколько программ - часть на 1.4, часть на 1.5
Как ни странно тут в убунте они даже работают, но с искажениями - не показываются некоторые компоненты.
502
08 декабря 2007 года
Jail
550 / / 30.01.2007
Может быть Java идущая с вашим дисрибутивом не имеет некоторого количества компонентов. Ясно же что дело не в программе, а именно в Java. Попробуйте скачать необохдимую версию Java с сайта SunMicrosystems и инстальте. Думаю всё заработает.
360
09 декабря 2007 года
P*t*
474 / / 15.02.2007
скачал новую jdk - теперь работает.
502
09 декабря 2007 года
Jail
550 / / 30.01.2007
[quote=]скачал новую jdk - теперь работает.[/quote]
Кстате P*t*, такие дела обстоят не только с компонентами Java. Во многих дистрибутивах Linux урезаны модули и библиотеки . Не раз уже с таким сталкиваюсь ... Это так, на будущее :)
63
10 декабря 2007 года
Zorkus
2.6K / / 04.11.2006
Я даже как-то вроде уже тут советовал --- перед тем, как пробовать на левых реализациях явы, вроде gcj, проверьте работу на сановской яве. Самая нормальная ява из всех яв, имхо :).
502
14 декабря 2007 года
Jail
550 / / 30.01.2007
Цитата:
Я даже как-то вроде уже тут советовал --- перед тем, как пробовать на левых реализациях явы, вроде gcj, проверьте работу на сановской яве. Самая нормальная ява из всех яв, имхо :).


ага, еслив ещё учесть что java разработали в Sun, то конешно самая нормальная....

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог