Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

Combobox (избор на шрифт) чрез Java

Featured Replies

Здравейте,

 

Използвам следния изходен код: 

 

 

import java.awt.event.*;
import java.awt.*;
import java.applet.*;
import java.io.*;
import javax.swing.*; 
import javax.swing.text.*;
import java.util.*;
import java.awt.Font;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
 
 
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
 
 
public class appleted extends Applet implements ActionListener
{
TextArea t;
 
Button copy,cut,paste;
// String[] description = { "Courier", "Sans Serif",
    //"Monospaced","Symbol" };
 
String selection;
 
  private JComboBox fontComboBox;
  public void FontComboBox() 
  {
   // setTitle("ComboBoxTest");
   // setSize(300, 200);
    //fontComboBox.addActionListener(this);
 
 
 
   /* JPanel p = new JPanel();
    p.add(fontComboBox);
    getContentPane().add(p, "North");
    getContentPane().add(fontLabel, "Center");*/
this.validate();
  }
 
public void init()
{
   setBackground(Color.white);
t=new TextArea(10,40);
add(t);
 
 
copy=new Button("copy");
add(copy);
copy.addActionListener(this);
 
cut=new Button("cut");
add(cut);
cut.addActionListener(this);
 
paste=new Button("paste");
add(paste);
paste.addActionListener(this);
 
fontComboBox = new JComboBox();
    fontComboBox.setEditable(true);
    fontComboBox.addItem("Serif");
    fontComboBox.addItem("SansSerif");
    fontComboBox.addItem("Monospaced");
    fontComboBox.addItem("Dialog");
    fontComboBox.addItem("DialogInput");
    fontComboBox.addActionListener(this);
this.validate();
 
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==cut) cutAction();
else if (e.getSource()==copy) copyAction();
else if (e.getSource()==paste) pasteAction();
this.validate();
}
private void copyAction()
{
selection=t.getSelectedText();
}
private void cutAction()
{
int start=t.getSelectionStart(),
end=t.getSelectionEnd();
selection=t.getSelectedText();
t.replaceRange("",start,end);
t.setSelectionEnd(start);
}
private void pasteAction()
{
int start=t.getSelectionStart(),
end=t.getSelectionEnd();
t.replaceRange(selection,start,end);
}
 
}

 

Компилира се успешно, но падащото меню, което трябва да ми даде възможност да избирам измежду наличните шрифтове и стилове не се появява.

 

Ще съм много благодарен, ако някой може да помогне.

 

Не мога да разбера къде е проблемът!

 

Поздрави!

 
  • 2 седмици по-късно...

 

Здравейте,

 

Използвам следния изходен код: 

 

 

 

Компилира се успешно, но падащото меню, което трябва да ми даде възможност да избирам измежду наличните шрифтове и стилове не се появява.

 

Ще съм много благодарен, ако някой може да помогне.

 

Не мога да разбера къде е проблемът!

 

Поздрави!

 

Здравей,

 

Проблемът, поради който не се появява падащото меню е, че самия JComboBox елемент не е добавен в прозореца на аплета.

Решението е да добавим в горепосочения код следното:

 

 

    fontComboBox.addItem("Dialog");
    fontComboBox.addItem("DialogInput");
    fontComboBox.addActionListener(this);
    this.add(fontComboBox);
this.validate();

 

Ако мога да дам още няколко допълнителни съвети по въпросния код:

 - В случаи при java UI програмиране е добре да се ползват контейнери, които да обединяват сходни по логика и работа UI елементи (бутони за управление, менюта, палети с инструменти).

По този начин самото писане и организиране на кода спомага за поддръжката му и по-лесна бъдеща промяна. 

 - Добра практика е ползването на Layout-и при подреждане на елементите и панелите. Повече информация може да се намери тук.

 - При по-сложни и повече на брой елементи, разчитащи на събития, породени от потребителя (events), е добре всяко едно да е отделно и да управлява само едно нещо по екрана.

 - Класовете е добре да започват с главна буква :).

 

Прикачвам примерен файл с модификация на кода.

 

Поздрави !

Appleted.txt

  • Автор

Благодаря :) 

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    32%
    Дарени 315 € от нужните 1 000 €

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.