Не работают кнопки в апплете

Модератор: Absurd

Ответить
PastoriXx
Сообщения: 23
Зарегистрирован: 07 май 2010, 14:11

22 дек 2010, 15:47

Задание: Реализуйте апплет с цифровым отображением времени. Ваш апплет должен считывать параметры, указывающие частоту обновления таймера, а также шрифт, цвет и формат представления времени. (См. класс java.text.SimpleDateFormat для изучения механизма форматирования даты и времени в соответствии с заданным шаблоном.) Кроме того, добавьте метод getParameterInfo(), описывающий параметры апплета, которые вы определили, и измените метод getAppletInfo(), включив сообщение, описывающее ваше участие в создании апплета.
Не работают кнопки, помогите!!!

Код: Выделить всё

import java.awt.*; 
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Date; 
import java.text.DateFormat; 
import java.text.SimpleDateFormat;

import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.border.TitledBorder;

public class myClock extends JApplet implements ActionListener, Runnable { 
	
	Label time; 
	DateFormat timeFormat; 
	Thread timer; 
	
	int speed = 1, color;
	
	JButton
	b1,b2,b3;

	TextField
	t1,t3;
	//JPanel panel;
	
	JCheckBox 
    cb1 = new JCheckBox("Формат");
	
	String sfont = "Arial";
	String [] allFonts = java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
	//Font font = sfont;

volatile boolean running; 

public void init() {
	
	b1 = new JButton("Частота обновления"); 
    b2 = new JButton("Шрифт");
	b3 = new JButton("Цвет");
	t1 = new TextField();
	t3 = new TextField(14);
	
	Container cp = getContentPane();
    cp.setLayout(new FlowLayout());
    cp.add(t1);
    cp.add(b1);
    cp.add(b2);
    //cp.add(t3);
    //cp.add(b3); 
    //cp.add(cb1);
    
	b1.addActionListener(this);
	t1.addActionListener(this);
	b2.addActionListener(this);
	//t2.addActionListener(this);
	//b3.addActionListener(this);
	//t3.addActionListener(this);
	time = new Label(); 
	time.setFont(new Font(sfont, Font.BOLD, 12)); 
	time.setAlignment(Label.CENTER); 
	
	setLayout(new BorderLayout()); 
	add(time, BorderLayout.SOUTH); 
	timeFormat = DateFormat.getTimeInstance(DateFormat.MEDIUM); 

	} 
public void actionPerformed(ActionEvent e) {

    //String str = ((JButton) e.getSource()).getText();

    if (e.getSource()== b1){ speed = Integer.parseInt(t1.toString());}
	  
    if (e.getSource() == b2)
    	b2 = (JButton) JOptionPane.showInputDialog(null,"Выбери шрифт","Изменение шрифта",JOptionPane.INFORMATION_MESSAGE,null,allFonts,allFonts[0]);
    	
    //if (e.getSource() == b3)
    
}

public void start() { 
	running = true; 
	if (timer == null) 
	{ 
		timer = new Thread(this); 
		timer.start(); 
	} 
} 

public void run() 
{ 
	while(running) 
	{ 
		time.setText(timeFormat.format(new Date())); 
		try { Thread.sleep(speed); } 
		catch (InterruptedException e) {} 
	} 
	timer = null; 
}

public void stop() { running = false; } 

public String[][] getParameterInfo() {	return super.getParameterInfo();}

public String getAppletInfo() { return "Clock applet Copyright (с) 2010 by Roman Homenko";} 
}
PastoriXx
Сообщения: 23
Зарегистрирован: 07 май 2010, 14:11

22 дек 2010, 17:14

убрал строку setLayout(new BorderLayout()); , кнопки стали появлятся,
в строчке

Код: Выделить всё

 if (e.getSource()== b1){ speed = Integer.parseInt(t1.toString());}
поменял t1.toString на t1.getText()[/quote]

Так же не работает изменение шрифта, выдает ошибки, типа:

Код: Выделить всё

Exception in thread "AWT-EventQueue-1" java.lang.ClassCastException: java.lang.String cannot be cast to javax.swing.JButton
    at myClock.actionPerformed(myClock.java:79)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
Anyclacletinc
Сообщения: 0
Зарегистрирован: 22 окт 2012, 18:54
Откуда: Iran
Контактная информация:

22 окт 2012, 21:31

Бесплатные игры на телефон скачать Как самый большой маг королевства ты был призван к его обороне. Под крепостным валом бурлит, зло приняло облик летучих мышей, орков и разных других врагов атакующих в бесконечных волнах. Твой ум, искусство и магия – последняя надежда.
Коллекция java- игр для мобильных телефонов: каталог по жанрам и особенностям

Игра разработана для всех сенсорных (touch screen или stylus) телефонов Увлекательный и простой игровой процесс, наполненный добрым юмором, множество забавных животных, яркая графика и сочные цвета – всё это не оставит равнодушным ни ребёнка, ни его родителей. На каждом из 48 уровней игры необходимо выполнить определённую задачу, справившись с ней за отведённое время, вы обязательно получите дополнительную награду или титул.
Скачать бесплатные игры на телефон бесплатно смотри здесь

Скачать Драки мобильные игры бесплатно на телефон Motorola, Nokia, Sony-ericsson.. Выберите свой стиль в реслинге, узнайте самые зрелищные приёмы. Драки, игра созданная по мотивам сверхпопулярного телевизионного шоу, посвященного реслингу. Выберите свой стиль в реслинге, узнайте самые зрелищные. . .
Можно скачать сенсорные игры на телефон Motorola Nokia Sony ссылка

Скачать бесплатно на телефон java игру Описание: ОБНОВЛЕНИЕ мегахита Бункер3D: План Гитлера. В новую версию игры добавлены: оружие, уровни и противники, что однозначно придаст реалистичности мегапопулярному шутеру. Новое управление и оптимизация скорости гарантируют заряд адреналина, создавая УБОЙНУЮ динамику игры.
На сайте gamejavaglow.ru сейчас созданы всевозможные игры на телефон Nokia.

Nokia 6270 ( Мобильный телефон Nokia 6270 ) - Приятное звучание Sony Ericsson XPERIA Mini- 6740 руб. Nokia 500- 6720 руб. Nokia X2- 7060 руб.Телефон Nokia 6270 ( Мобильный телефон Nokia 6270 ) может похвастаться внушительной 2.. Nokia 500- 6720 руб. Nokia X2- 7060 руб. Sony Xperia S- 19500 руб.
Ответить