Отправляет email-рассылки с помощью сервиса Sendsay

[prg] мобильник на языке java

Здравствуйте всем участникам рассылки! Уже чуть больше полутора лет пытаюсь
изучить язык java, дошёл до графического интерфейса. Пытаюсь написать
программу мобильный телефон: тоесть она должна по нажатию, например кнопки с
надписью 1 выводить на экран цифру 1, по нажатию кнопки сб или сброс
выводить фразу of, вроде как выключено. Короче всё как на обычном сотовом
телефоне, только без меню . почему-то не получается вывести кнопки на форму,
вроде, события для них зарегистрированы, у метода setvisible входной
параметр true, то есть они видимы, но после компиляции как подсказывают
зрячие люди окно пустое, тоесть появляется только форма. Код будет
представлен ниже, если кто-нибудь сможет объяснить в чем ошибка огромное
спасибо. С уважением Леонид.

Код программы:
package sot;

import java.awt.*;

import java.awt.event.*;

public class mobile extends Frame implements ActionListener {

TextField Edit,Edit1;

String Spis="";

String Spis1 = "соединение...";

String Spis2 = "Вызов OFF ";

String Spis3 = " О Привет!";

Button b[];

mobile(String d) {

super (d);

setBounds(50,60,186,285);

setVisible(true);

addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent
we){

System.exit(0);

}

});

setTitle("samsung");

b=new Button[17];

setLayout(new GridLayout(5, 3, 50, 0));

Panel forma=new Panel (new GridLayout(3,5,2,0));

Edit = new TextField(" ");

Edit.setBounds(20, 0, 40, 30);

Edit.setVisible(true);

Edit1 = new TextField(" ");

Edit1.setBounds(20, 0, 40, 30);

Edit1.setVisible(true);

setLayout (new FlowLayout (FlowLayout.CENTER, 15,
5));

forma.add(new TextField ("Samsung c5212", 10));

forma.add(Edit);

forma.add(Edit1);

add(forma);

b[0]=new Button("Вз");

b[0].setVisible(true);

add(b[0]);

b[1]=new Button("C");

b[1].setVisible(true);

add(b[1]);

b[2]=new Button("Сб");

b[2].setVisible(true);

add(b[2]);

b[3]=new Button("1");

b[3].setVisible(true);

add(b[3]);

b[4]=new Button("2");

b[4].setVisible(true);

add(b[4]);

b[5]=new Button("3");

b[5].setVisible(true);

add(b[5]);

b[6]=new Button("4");

b[6].setVisible(true);

add(b[6]);

b[7]=new Button("5");

b[7].setVisible(true);

add(b[7]);

b[8]=new Button("6");

b[8].setVisible(true);

add(b[8]);

b[9]=new Button("7");

b[9].setVisible(true);

add(b[9]);

b[10]=new Button("8");

b[10].setVisible(true);

add(b[10]);

b[11]=new Button("9");

b[11].setVisible(true);

add(b[11]);

b[12]=new Button("*");

b[12].setVisible(true);

add(b[12]);

b[13]=new Button("0");

b[13].setVisible(true);

add(b[13]);

b[14]=new Button("#");

b[14].setVisible(true);

add(b[14]);

int i;

for (i =0; i<13;i++)

b[i].addActionListener(this);

}

public void actionPerformed(ActionEvent e){

if(e.getSource()==b[0]){

if (Spis=="") Edit.setText("Где номер?
"); else {Edit.setText(Spis1);

Edit1.setText(Spis3);

};

}

if(e.getSource()==b[1]){

Spis="";

Edit.setText(Spis);

}

if(e.getSource()==b[2]){

Edit.setText(Spis2);

}

if(e.getSource()==b[3]){

Spis=Spis+"1";

Edit.setText(Spis);

}

if(e.getSource()==b[4]){

Spis=Spis+"2";

Edit.setText(Spis);

}

if(e.getSource()==b[5]){

Spis=Spis+"3";

Edit.setText(Spis);

}

if(e.getSource()==b[7]){

Spis=Spis+"5";

Edit.setText(Spis);

}

if(e.getSource()==b[8]){

Spis=Spis+"6";

Edit.setText(Spis);

}

if(e.getSource()==b[9]){

Spis=Spis+"7";

Edit.setText(Spis);

}

if(e.getSource()==b[10]){

Spis=Spis+"8";

Edit.setText(Spis);

}

if(e.getSource()==b[11]){

Spis=Spis+"9";

Edit.setText(Spis);

}

if(e.getSource()==b[12]){

Spis=Spis+"*";

Edit.setText(Spis);

}

if(e.getSource()==b[13]){

Spis=Spis+"0";

Edit.setText(Spis);

}

if(e.getSource()==b[14]){

Spis=Spis+"#";

Edit.setText(Spis);

}

}

public static void main(String[] args) {

new mobile("c5212");

}

}

Ответить   Sun, 18 Mar 2012 12:01:00 +0600 (#2404669)

 

Ответы:

Приветствую всех.

В данном случае, чтобы понять, какие элементы отображаются в форме, можно использовать
виртуализацию окна (например, Insert+Alt+W в JAWS 11). Если элемент реально отображается
в форме, то его надпись будет присутствовать в окне виртуального просмотра.

Основная ошибка заключается в работе с менеджерами компоновки.
Я могу выслать вам рабочий вариант, в котором все отображается, но лучше будет
если вы словами опишите, чего вы пытались добиться от менеджеров компоновки в
вашем коде: какая сетка (или сетки) вами предполагались, какие элементы в этих
сетках, по-вашему, должны были появиться и в каких ячейках...

Ещё рекомендую не пренебрегать комментариями особенно в тех местах кода, которые
не являются очевидными при поверхностном прочтении.
А отрисовка визуального интерфейса не является очевидной по определению для любого
незрячего независимо от того, пишет ли он код или читает.

Успехов. Анатолий.

Ответить   "i_chay" Sun, 18 Mar 2012 22:45:16 +0400 (#2404898)