Новые книги

Instagram сегодня – самая популярная и удобная площадка, с помощью которой можно стать действительно знаменитым. Петр Плосков – Instagram-продюсер № 1 в России, занимающийся продвижением Дмитрия Маликова, Натальи Рудовой, Марии Миногаровой, Иды Галич, Ольги Медынич, Ники Вайпер и других знаменитостей с миллионными аудиториями. В своей книге Петр рассказывает обо всем, что необходимо знать, чтобы стать следующей звездой.
Для чего вы заходите в «Инстаграм»? Посмотреть, как дела у знакомых? Выложить фотографии со вчерашней вечеринки? Развеяться и отдохнуть? Лично я вот уже два года захожу в «Инстаграм», чтобы заработать. Немного цифр, которые лучше любых слов объяснят вам, чем может быть полезен «Инстаграм»: 9 000 000 чистой прибыли у медицинской клиники в месяц (полтора года назад ее не существовало вообще); 15 000 000 чистой прибыли за один курс у инфобизнесмена; 2 500 000 ежемесячной чистой прибыли от размещения рекламы в аккаунте в «Инстаграме» у известного блогера (не звезды).

Хотите таких же результатов? В этой книге вы найдете руководство к действию без воды и лирических отступлений и сможете создать аккаунт в «Инстаграме», который будет работать на вас. Новые знакомства, рост клиентской базы и, конечно, доход – все это может дать вам и вашему бизнесу эта социальная сеть.

В конце практически каждой главы есть конкретные задания, выполняя которые, вы шаг за шагом будете двигаться к созданию собственного успешного бизнеса в «Инстаграме». Также в конце книги вас ждет сюрприз – интервью с самыми знаковыми персонами российского «Инстаграма», с настоящими звездами этой социальной сети.

Режим GridBagLayout

Аплет FormLayout

Оглавление

Layout Manager
Режимы
FlowLayout
GridLayout
BorderLayout
CardLayout
GridBagLayout
Аплет FormLayout

В окне аплета FormLayout (рис. 2) мы расположили те же самые органы управления, которые были использованы в предыдущем аплете FormDemo. Однако для указания способа размещения компонент мы выполнили настройку системы Layout Manager, выбрав режим GridLayout.

Рис. 2. Окно аплета FormLayout

Для того чтобы увидеть рисунок в увеличенном виде, сделайте щелчок мышью по изображению

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

Проблема заключается в том, что в режиме GridLayout не удается управлять размерами компонент. Для устранения этого недостатка следует использовать режим GridBagLayout. Так как этот режим сложен для использования без визуального проектирования, мы отложим дальнейшее совершенстовование нашей формы до тех пор, пока не займемся изучением соответствующих средств Java WorkShop.

Исходный текст аплета FormLayout

Исходный текст аплета FormLayout практически повторяет исходный текст аплета FormDemo, рассмотренный в нашей предыдущей статье. Единственное отличие заключается в том, что в методе init мы выполнили настройку системы Layout Manager, установив режим GridLayout:

public void init() 
{
  setLayout(new GridLayout(4, 3));
  . . .
}

Здесь для размещения компонент в окне аплета создается таблица из четырех строк и трех столбцов.

Полный исходный текст аплета FormLayout вы найдете в листинге 1.

Листинг 1. Файл FormLayout.java

import java.applet.Applet;
import java.awt.*;
import java.util.*;
public class FormLayout extends Applet 
{
  Button btReady;  
  Checkbox chbox1;
  Checkbox chbox2; 
  CheckboxGroup grRadio;
  Checkbox rd1;
  Checkbox rd2;
  Checkbox rd3;  
  Choice ch1;
  Label lbFirstName;
  Label lbSecondName;
  TextField txtFirstName;
  TextField txtSecondName;
  TextArea  txta;
  public void init() 
  {
    setLayout(new GridLayout(4, 3));
    chbox1 = new Checkbox("First");
    add(chbox1);
    lbFirstName = new Label(
      "Enter your first name:");
    add(lbFirstName);    
    txtFirstName = new TextField(" ", 30);
    add(txtFirstName);
    chbox2 = new Checkbox("Second");
    add(chbox2);
    lbSecondName = new Label(
     "Enter your second name:");
    add(lbSecondName);
    txtSecondName = new TextField(" ", 30);
    add(txtSecondName);
    grRadio = new CheckboxGroup();
    rd1 = new Checkbox("Mode 1",
      grRadio, true);
    rd2 = new Checkbox("Mode 2",
      grRadio, false);
    rd3 = new Checkbox("Mode 3",
      grRadio, false);
    add(rd1);
    add(rd2);
    add(rd3);
    ch1 = new Choice();
    ch1.addItem("White");
    ch1.addItem("Green");
    ch1.addItem("Yellow");
    add(ch1);
    setBackground(Color.yellow);
    lbFirstName.setBackground(
      Color.yellow);
    lbSecondName.setBackground(
      Color.yellow);
    rd1.setBackground(Color.yellow);
    rd2.setBackground(Color.yellow);
    rd3.setBackground(Color.yellow);    
    chbox1.setBackground(Color.yellow);
    chbox2.setBackground(Color.yellow);
    txta = new TextArea("", 6, 45);
    add(txta);
    txta.setBackground(Color.white);
    btReady = new Button("Ready");
    add(btReady);
  }
  public String getAppletInfo()
  {
    return "Name: FormDemo";
  }
  public void paint(Graphics g)
  {
    Dimension dimAppWndDimension = 
      getSize();
    g.setColor(Color.black);
    g.drawRect(0, 0, 
      dimAppWndDimension.width  - 1, 
      dimAppWndDimension.height - 1);
  }
  public boolean action(Event evt,
    Object obj)
  {
    Button btn;
    String str1, str2;
    if(evt.target instanceof Button)
    {
      if(evt.target.equals(btReady))
      {
        btn = (Button)evt.target;
	str1 = txtFirstName.getText();
	str2 = txtSecondName.getText();	
	if(chbox1.getState())
	  txta.append(str1);
	if(chbox2.getState())
	  txta.append(str2);
	if(rd1.getState())
	  txta.append("\nMode 1\n");	
	if(rd2.getState())
	  txta.append("\nMode 2\n");
	if(rd3.getState())
	  txta.append("\nMode 3\n");
      }
      else
      {
	return false;
      }
      return true;
    }
    else if(evt.target instanceof Choice)
    {
      if(evt.target.equals(ch1))
      {
	if(ch1.getSelectedIndex() == 0)
	  txta.setBackground(Color.white);	  
	if(ch1.getSelectedIndex() == 1)
	  txta.setBackground(Color.green);
	if(ch1.getSelectedIndex() == 2)
	  txta.setBackground(Color.yellow);
      }
    }
    return false;
  }
}

Исходный текст документа HTML, созданный для нашего аплета системой Java WorkShop, представлен в листинге 2.

Листинг 2. Файл FormLayout.tmp.html

<applet
  name="FormLayout"
  code="FormLayout"
  codebase=
  "file:/e:/sun/articles/vol7/src/FormLayout"
  width="500"
  height="600"
  align="Top"
  alt="If you had a java-enabled browser,
 you would see an applet here.">
</applet>