Вопросы с тегами [japplet]

1

голосов
1

ответ
25

Просмотры

Как получить / использовать bufferstrategy в апплет Java?

Мне было интересно, как я хотел бы использовать что-то вроде bufferstrategy в Java-апплет. Я хочу сделать что-то вроде gfx.drawImage изображение (кадр, 0, 0, ширина, высота, NULL); на мой апплет, но я получаю белые вспышки из-за графики рисования на экране не забуференном. Любая помощь будет принята с благодарностью! Edit: У меня есть поток, который перекраска этого изображения Edit 2: Изображение постоянно меняется, так что мне нужно, чтобы перекрасить это каждый раз, когда он меняет
1

голосов
0

ответ
26

Просмотры

Мой код не выполняется на старте

Мне нужно сделать после того, как формулы апплет начал, так что я стараюсь сделать следующий: открытый класс SearchIdeaApplet расширяет JApplet {личное JPanel mRootPanel; частный JButton mPrevButton; частный JButton mNextButton; частный JButton mUpdateButton; частный JPanel mPlotPanel; частный JPanel mFormulaPanel; частный недействительный drawFormulas () {формула TeXFormula = новый TeXFormula ( "х ^ 2 + 3 * у ^ 2"); // вынести формулу в иконку одного и того же размера, что и формулы. Texicon значок = формула .createTeXIcon (TeXConstants.STYLE_DISPLAY, 20); icon.setInsets (новые вставки (5, 5, 5, 5)); // теперь создать действительное изображение визуализируемого уравнения BufferedImage изображения = новый BufferedImage (icon.getIconWidth (), icon.getIconHeight (), BufferedImage.TYPE_INT_ARGB); Graphics2D g2 = image.createGraphics (); g2.setColor (Color.white); g2.fillRect (0, 0, icon.getIconWidth (), icon.getIconHeight ()); JLabel JL = новый JLabel (); jl.setForeground (новый цвет (0, 0, 0)); icon.paintIcon (JL, д2, 0, 0); // теперь нарисовать на экране графики г = mFormulaPanel.getGraphics (); g.drawImage (изображение, 0,0, NULL); } @Override общественного недействительными Init () {попробуйте {SwingUtilities.invokeAndWait (это :: initSwing); } Задвижка (InterruptedException | InvocationTargetException е) {e.printStackTrace (); }} Частная пустота onUpdateButtonClick (ActionEvent событие) {drawFormulas (); } Частная пустота initSwing () {setContentPane (mRootPanel); drawFormulas (); // Это не работает mUpdateButton. addActionListener (это :: onUpdateButtonClick); }} Но drawFormulas () вызов в initSwing () не имеет никакого эффекта. Но если я нажимаю mUpdateButton мои формулы показаны. Как ждать, когда графический интерфейс будет готов рисовать формулы?
Шах
1

голосов
1

ответ
2.3k

Просмотры

Как динамически изменять размер прямоугольника снизу вверх. Джава

Так что я пытаюсь сделать апплет, который использует два JSliders, чтобы изменить размер прямоугольника. Я хотел бы иметь высоту идти снизу вверх, чтобы соответствовать тому, что вертикальная JSlider выглядит. Единственная проблема, которую я бег в том, что рисовать в Java рисунок от й и у, которые оба расположены на 0, двигаясь й налево (запад), а у собираются на юг. Изменение размера ширины просто, так как я только с помощью метода с одним параметром для увеличения или уменьшения ширины. С высотой, перемещая его вверх в порядке (у меня есть у набора на 340, так что является базой Я хотел бы остаться в). Когда я двигаю JSlider вниз, она движется вниз, но не достигнет той же высоте, что когда-то в. Я действительно хотел бы сделать это, кажется, как прямоугольник движется тот же способ JSlider движется. Главная страница Applet (Там, где JSliders расположены): импорт java.awt.BorderLayout; импорт java.awt. Цвет; импорт javax.swing.JApplet; импорт javax.swing.JLabel; импорт javax.swing.JSlider; импорт javax.swing.SwingConstants; импорт javax.swing.event.ChangeEvent; импорт javax.swing.event.ChangeListener; общественный класс ResizeRectangle расширяет JApplet {личного JSlider sliderHeight; частный JSlider sliderWidth; частное JLabel название; Содержание частного содержания; частное ИНТ OldValue = 0; общественного недействительными Init () {setLayout (новый BorderLayout ()); название = новый JLabel ( "Прямоугольник Переклассификатор"); содержание = Содержание (новое); content.setBackground (Color.white); // Бегунок для увеличения высоты sliderHeight = новый JSlider (SwingConstants.VERTICAL, 10, 100, 10); sliderHeight.setMajorTickSpacing (10); sliderHeight.setPaintTicks (истина); sliderHeight. // Slider для увеличения widht sliderWidth = новый JSlider (SwingConstants.HORIZONTAL, 10, 100, 10); sliderWidth.setMajorTickSpacing (10); sliderWidth.setPaintTicks (истина); sliderWidth.addChangeListener (новый ChangeListener () {общественного недействительными StateChanged (ChangeEvent е) {content.setWidth (sliderWidth.getValue ());}}); content.setBackground (Color.white); добавить (название, BorderLayout.NORTH); добавление (содержание, BorderLayout.CENTER); (добавить sliderWidth, BorderLayout.SOUTH); (добавить sliderHeight, BorderLayout.EAST); }} Это код для установки высоты (а также ширина): импорт java.awt.Component; импорт java.awt.Graphics; Содержание общественного класса расширяет компонент {частного Int высоты = 10; частная ширина INT = 10; // Инициализировать г до 340. частных ИНТ у = 340; // Рисует прямоугольник общественных пустот краски (график г) {g.fillRect (5, у, ширина, высота); } Общественной недействительная setHeight (интермедиат ч, логическое увеличение) {// Если ползунок растет, уменьшить у и увеличить высоту, чтобы придать ему // вида роста, если (увеличение) {у = у - ч; высота = высота + Н; } // иначе делать противоположное еще {у = у + Н; высота = высота - ч; } // для отладки System.out.println ( "ч =" + Н); System.out.println ( "у =" + у); System.out.println ( "высота = "+ высота +" \ п \ п"); // Перекрасьте прямоугольник перекрасить (); } // Установить ширину и перерисовки общественного недействительного setWidth (Int W) {ширина = ш; перекрасить (); }} Это мой третий месяц обучения Java, и я бы очень признателен за любую обратную связь. Заранее спасибо.
abba_de_bo
1

голосов
1

ответ
1.7k

Просмотры

Что является лучшим способом для создания приложения клиент-сервер с помощью программы Java Web Start?

Хорошо, таким образом я создал приложение, которое представляет собой приложение Java Web Start, но я решил, что мне нужно будет записывать данные на компьютере-сервере, следовательно, необходимость дополнительного серверного приложения. Довольно много я хочу, чтобы клиент посылать различные строки для того, чтобы обрабатывать запросы клиентов в различных способов (например, создать новый пользовательский файл на компьютере сервера или отправить пользовательские данные, считываемые из файла на клиентской машине). Я имел в виду, возможно, с помощью сокетов, но если есть лучший способ, то я все для этого. Кроме того, я полагаю, что все, что я использовать, мне нужно будет использовать многопоточность для того, чтобы обрабатывать большое количество одновременных запросов, это правильно?
Matthew Pigram
1

голосов
2

ответ
1.5k

Просмотры

Подпись апплета С Javascript Вызов функции: Ошибка инициализации на IcedTea плагин

I'm trying to call a Javascript function from inside a Java Signed Applet that I developed. This goes pretty well when I use a browser with Sun Java plugin. I tested on Windows 7 and Ubuntu 10.04 with Firefox, Chrome and Internet Explorer (Windows) browsers. When I try to run the same code on any browser with Iced Tea plugin the following error is informed: net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Could not initialize applet. at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:735) at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:676) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:886)Caused by: java.lang.NullPointerException at net.sourceforge.jnlp.runtime.JNLPClassLoader.getPermissions(JNLPClassLoader.java:915) at java.security.SecureClassLoader.getProtectionDomain(SecureClassLoader.java:206) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:447) at java.net.URLClassLoader.access$100(URLClassLoader.java:71) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at net.sourceforge.jnlp.runtime.JNLPClassLoader.findClass(JNLPClassLoader.java:1499) at net.sourceforge.jnlp.runtime.JNLPClassLoader.loadClassExt(JNLPClassLoader.java:1526) at net.sourceforge.jnlp.runtime.JNLPClassLoader.loadClass(JNLPClassLoader.java:1341) at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2442) at java.lang.Class.getDeclaredMethod(Class.java:1952) at java.awt.Component.isCoalesceEventsOverriden(Component.java:6190) at java.awt.Component.access$500(Component.java:188) at java.awt.Component$3.run(Component.java:6144) at java.awt.Component$3.run(Component.java:6142) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Component.checkCoalescing(Component.java:6141) at java.awt.Component.(Component.java:6110) at java.awt.Container.(Container.java:276) at java.awt.Panel.(Panel.java:64) at java.awt.Panel.(Panel.java:56) at java.applet.Applet.(Applet.java:65) at javax.swing.JApplet.(JApplet.java:130) at br.ufrj.land.tangram.measures.NetworkMeasurerApplet.(NetworkMeasurerApplet.java:11) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:525) at java.lang.Class.newInstance0(Class.java:372) at java.lang.Class.newInstance(Class.java:325) at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:726) ... 2 more Caused by: java.lang.NullPointerException at net.sourceforge.jnlp.runtime.JNLPClassLoader.getPermissions(JNLPClassLoader.java:915) at java.security.SecureClassLoader.getProtectionDomain(SecureClassLoader.java:206) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:447) at java.net.URLClassLoader.access$100(URLClassLoader.java:71) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at net.sourceforge.jnlp.runtime.JNLPClassLoader.findClass(JNLPClassLoader.java:1499) at net.sourceforge.jnlp.runtime.JNLPClassLoader.loadClassExt(JNLPClassLoader.java:1526) at net.sourceforge.jnlp.runtime.JNLPClassLoader.loadClass(JNLPClassLoader.java:1341) at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2442) at java.lang.Class.getDeclaredMethod(Class.java:1952) at java.awt.Component.isCoalesceEventsOverriden(Component.java:6190) at java.awt.Component.access$500(Component.java:188) at java.awt.Component$3.run(Component.java:6144) at java.awt.Component$3.run(Component.java:6142) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Component.checkCoalescing(Component.java:6141) at java.awt.Component.(Component.java:6110) at java.awt.Container.(Container.java:276) at java.awt.Panel.(Panel.java:64) at java.awt.Panel.(Panel.java:56) at java.applet.Applet.(Applet.java:65) at javax.swing.JApplet.(JApplet.java:130) at br.ufrj.land.tangram.measures.NetworkMeasurerApplet.(NetworkMeasurerApplet.java:11) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:525) at java.lang.Class.newInstance0(Class.java:372) at java.lang.Class.newInstance(Class.java:325) at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:726) at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:676) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:886)java.lang.NullPointerException at net.sourceforge.jnlp.NetxPanel.runLoader(NetxPanel.java:154) at sun.applet.AppletPanel.run(AppletPanel.java:379) at java.lang.Thread.run(Thread.java:722) java.lang.NullPointerException at sun.applet.AppletPanel.run(AppletPanel.java:429) at java.lang.Thread.run(Thread.java:722) Configurations and Things that I tried: The Linux flavor that I'm using with Iced Tea plugin is Ubuntu 12.04 I tried compiling my code with Sun JDK 6 and 7 and Open JDK 6 and 7 but both fail with Iced Tea plugin on browsers. I tried my code with Iced Tea version 6 and version 7 I tried my code with Firefox and Chrome browsers on my Ubuntu Code snippets: HTML (inside body tag): Javascript method that i'm trying to call (inside my_javascript_file.js): window.performAppletCode = function (parameter_1) { //Function code } Java applet code (relevant part) inside "MyApplet.jar": package foo; import java.util.Arrays; import javax.swing.JApplet; import netscape.javascript.JSException; import netscape.javascript.JSObject; public class MyApplet extends JApplet { //Parameter that will be sent to Javascript function public String parameter_1; //JSObject that will be responsible for accessing javascript on my page public JSObject window = null; private Thread myThread; private ImportantClass importantClassInstance; @Override public void init() { } @Override public void start() { if (this.window == null) { try { this.window = JSObject.getWindow(this); if (this.window == null){ System.out.println("Window is null"); } } catch (JSException jse) { jse.printStackTrace(); } fooStart(); } } public void fooStart() { importantClassInstance = new ImportantClass(); // MyThread Section myThread = new Thread(new Runnable() { @Override public void run() { // Run latency test. int[] fooArray = importantClassInstance.fooMethod(); parameter_1 = Arrays.toString(fooArray); //Javascript function call window.call("performAppletCode", new Object[] {parameter_1}); } }); myThread.start(); } } My applet is signed using jarsigner and the certificate is included on my HTML directory. If anyone knows a possible clue to solving this problem, please, let me know. Thanks, Guilherme.
Gui Senges
1

голосов
1

ответ
128

Просмотры

Изображения в апплетах

я написал этот код, показывающий некоторые простые изображения на экране апплета, но картина не показывает, пока я изменить размер окна апплета, что я могу сделать, чтобы преодолеть его? общественного класса Test расширяет JApplet {общественного недействительными инициализации () {SwingUtilities.invokeLater (новый Runnable () {общественного недействительными запуска () {createGUI ();}}); .} Общественного недействительный старт () {} общественной недействительная createGUI () {getContentPane () добавить (новый GUIThing (GetImage (getCodeBase (), "gladiator.gif"))); }} Класс GUIThing общественности расширяет JPanel {Image изображения; общественный GUIThing (i2 изображения) {изображение = i2; } Общественного недействительный paintComponent (график г) {Graphics2D g2 = (Graphics2D) г; g2.drawImage (изображение, 100,100,100, 100, NULL); }}
Ofek Ron
1

голосов
1

ответ
99

Просмотры

Приостановка потоков в апплет [закрыт]

Мне нужно написать JApplet метод остановки, что приостанавливает второй поток, отправив сообщение приостановить () на 2-й поток, когда апплет минимизируется. Затем я должен возобновить поток, когда апплет unminimized. импорт javax.swing *. импорт java.awt *. общественный класс StopResume распространяется JApplet {частной конечной статических Int РЕЗЬБЫ = 3; частный счетчик [] т = новый счетчик [НИТИ]; частный JTextField [] Tf = новый JTextField [НИТИ]; общественного недействительными инициализации () {конечная INT TEXTFIELD_SIZE = 5; JLabel название = новый JLabel ( "JTextFields изменяются разными потоками."), Субтитры = новый JLabel ( "Минимизация результаты апплета в -"); JLabel [] = {метки новый JLabel ( "# 1 Тема остановки, счетчик получает сброс: "), новый JLabel (" Тема # 2 приостанавливается, г <Integer.MAX_VALUE; я ++) {tf.setText (Integer.toString (я)); попробуйте {сон (ONE_SECOND); } Задвижка (InterruptedException т.е.) {}}} // Конец определения метода запуска} // Конец определения класса Счетчик
user2297094
1

голосов
1

ответ
879

Просмотры

Невозможно отлаживать апплет с JDK 7u21 и 7u25

После обновления не мой JDK от 7u17 к 7u21 или 7u25, я больше не могу отлаживать мои апплеты. Я использовал, чтобы установить следующие параметры Java.exe через панель управления Java и она работала хорошо: -classic -verbose -Xdebug -Xnoagent -Dcom.sun.management.jmxremote -Djavaplugin.classloader.cache.enabled = ложный -Djava.compiler = NONE -Xrunjdwp: транспорт = транспорт по сокетам, сервер = у, адрес = 8055, приостановить = п Однако он не работает с 7u21 и 7u25. С Process Explorer, я вижу некоторые параметры отладки, связанные отсутствует в командной строке: "C: \ Java \ jre7 \ Bin \ java.exe" -Xbootclasspath / а: "C: \ Java \ jre7 \ Lib \ deploy.jar ";" C: \ Java \ jre7 \ Lib \ javaws.jar "" C: \ Java \ jre7 \ Lib \ plugin.jar»-Djava.class.path = "C: \ Java \ jre7 \ классы" -D__jvm_launched = 602583525371 -D__applet_launched = 602583523886 -Dsun.awt.warmup = истинный -Xdebug -verbose -Djnlp. packEnabled = ложь sun.plugin2.main.client.PluginMain write_pipe_name = jpi2_pid10980_pipe9, read_pipe_name = jpi2_pid10980_pipe8 Должен ли я изменить некоторые параметры или настройки Java? Или это JDK ошибка?
Zhao Yi
1

голосов
3

ответ
1.2k

Просмотры

String[] to Object[] Java

Есть обходной путь для литья String [] в Object []? Я получаю сообщение об ошибке при использовании этого. Я пытаюсь вставить в JTable, и это дает мне ошибку говоря, что я пытаюсь преобразовать тип строки в тип Object ... Здесь я получаю даты и вставить его в объект месяцев. // Создать календарь и формат первого воскресенья года. Календарь с; Object [] месяцев = новый String [52]; с = Calendar.getInstance (); c.set (Calendar.MONTH, 0); c.set (Calendar.DATE, 5); // Формат даты и вставить месяцев массив объектов DateFormat DF = новый SimpleDateFormat ( «ММ / дд / YYY»); для (INT I = 0; г <52; я ++) {месяцев [I] = df.format (c.getTime ()); c.add (Calendar.DATE, 7); } // Вставка месяца массив в JComboBox jComboBox1.setModel (новый DefaultComboBoxModel (месяцы)); ... ... // выполняется Действие извлекает выбор из JComboBox и вставить в таблицу частных пустот jComboBox1ActionPerformed (java.awt.event.ActionEvent ЭВТ) {// объект [] O получает выбор из SelectedItem () объекта [] о = (Object []) jComboBox1. getSelectedItem (); // ошибка проверки, Println System.out.println (jComboBox1.getSelectedItem () + "«); // создать DefaultTableModel и вставить в строку нулевой с объектной модели выбран DefaultTableModel = (DefaultTableModel) weeklyCalendar.getModel (); // вставить в ряд, бросает ошибку model.insertRow (0, о); } Су Я предполагаю, что я получаю строку из getSelectedItem () и пытаюсь бросить его в Object [] с бросками исключения ошибок ... Что я могу сделать, чтобы обойти это? ActionEvent ЭВТ) {// объект [] O получает выбор из SelectedItem () объекта [] о = (Object []) jComboBox1.getSelectedItem (); // ошибка проверки, Println System.out.println (jComboBox1.getSelectedItem () + "«); // создать DefaultTableModel и вставить в строку нулевой с объектной модели выбран DefaultTableModel = (DefaultTableModel) weeklyCalendar.getModel (); // вставить в ряд, бросает ошибку model.insertRow (0, о); } Су Я предполагаю, что я получаю строку из getSelectedItem () и пытаюсь бросить его в Object [] с бросками исключения ошибок ... Что я могу сделать, чтобы обойти это? ActionEvent ЭВТ) {// объект [] O получает выбор из SelectedItem () объекта [] о = (Object []) jComboBox1.getSelectedItem (); // ошибка проверки, Println System.out.println (jComboBox1.getSelectedItem () + "«); // создать DefaultTableModel и вставить в строку нулевой с объектной модели выбран DefaultTableModel = (DefaultTableModel) weeklyCalendar.getModel (); // вставить в ряд, бросает ошибку model.insertRow (0, о); } Су Я предполагаю, что я получаю строку из getSelectedItem () и пытаюсь бросить его в Object [] с бросками исключения ошибок ... Что я могу сделать, чтобы обойти это? getSelectedItem (); // ошибка проверки, Println System.out.println (jComboBox1.getSelectedItem () + "«); // создать DefaultTableModel и вставить в строку нулевой с объектной модели выбран DefaultTableModel = (DefaultTableModel) weeklyCalendar.getModel (); // вставить в ряд, бросает ошибку model.insertRow (0, о); } Су Я предполагаю, что я получаю строку из getSelectedItem () и пытаюсь бросить его в Object [] с бросками исключения ошибок ... Что я могу сделать, чтобы обойти это? getSelectedItem (); // ошибка проверки, Println System.out.println (jComboBox1.getSelectedItem () + "«); // создать DefaultTableModel и вставить в строку нулевой с объектной модели выбран DefaultTableModel = (DefaultTableModel) weeklyCalendar.getModel (); // вставить в ряд, бросает ошибку model.insertRow (0, о); } Су Я предполагаю, что я получаю строку из getSelectedItem () и пытаюсь бросить его в Object [] с бросками исключения ошибок ... Что я могу сделать, чтобы обойти это? бросает ошибки model.insertRow (0, о); } Су Я предполагаю, что я получаю строку из getSelectedItem () и пытаюсь бросить его в Object [] с бросками исключения ошибок ... Что я могу сделать, чтобы обойти это? бросает ошибки model.insertRow (0, о); } Су Я предполагаю, что я получаю строку из getSelectedItem () и пытаюсь бросить его в Object [] с бросками исключения ошибок ... Что я могу сделать, чтобы обойти это?
guy_without_a_name
1

голосов
1

ответ
94

Просмотры

начать апплета на веб-сайте

Доброе утро, я создал я JApplet Java gamemenu, с затмение все работает просто отлично с использованием отладчика. Но теперь я хочу, чтобы освободить его, и я получил некоторые проблемы. Я нашел много различных способов интеграции с апплета в веб-сайте. или или в первую очередь, какие из этих максимальных возможностей лучший способ включить апплет в вебе-сайте. Венна я пытаюсь открыть файл HTML с любой из этих кодов, есть Java ошибка о «настройках безопасности, которые блокированы этот Runnable код». Является ли это проблема с брандмауэром, или с самой Java? Большое спасибо BBallBoy
Kjenos
1

голосов
1

ответ
183

Просмотры

Key Ghosting Problems

I am making a game and I ran into a key ghosting problem (where the program only detects one keypress at a time, so the player can't go diagonally). I was watching this tutorial: https://www.youtube.com/watch?v=5UaEUrbpDPE I followed everything they said and it still only detects one key at a time. Main: public class Main extends JApplet implements Runnable, KeyListener { private static final long serialVersionUID = 1L; public static int width = 900; public static int height = 600; public static int fps = 60; public static Main instance; public static Ailoid ailoid = new Ailoid(); public static Player player = new Player(); // Initialize public void init() { setSize(width, height); setBackground(Color.white); addKeyListener(this); setFocusable(true); setFocusTraversalKeysEnabled(false); requestFocus(); instance = this; ailoid.setLocation(new Location(100, 100)); AlienManager.registerAlien(ailoid); player.setLocation(new Location(400, 400)); } // Paint graphics public void paint(Graphics g) { super.paint(g); paintComponent(g); } public void paintComponent(Graphics g) { for (Alien alien : AlienManager.getAliens()) { Location loc = alien.getLocation(); g.setColor(Color.GREEN); g.fillRect(loc.getX(), loc.getY(), 10, 25); } g.setColor(Color.BLUE); Location loc = Main.player.getLocation(); g.fillRect(loc.getX(), loc.getY(), 10, 25); } // Thread start @Override public void start() { Thread thread = new Thread(this); thread.start(); } // Thread stop @Override public void destroy() { } // Thread run @Override public void run() { Thread thread = new Thread(this); while (thread != null) { Updater.run(); repaint(); try { // 1000 divided by fps to get frames per second Thread.sleep(1000 / fps); } catch (InterruptedException e) { e.printStackTrace(); } } } @Override public void keyPressed(KeyEvent evt) { if (!KeysDown.get().contains(evt.getKeyCode())) KeysDown.add(new Integer(evt.getKeyCode())); KeyPress.run(evt); } @Override public void keyReleased(KeyEvent evt) { KeysDown.remove(new Integer(evt.getKeyCode())); } @Override public void keyTyped(KeyEvent evt) { } } KeysDown: public class KeysDown { private static ArrayList keysDown = new ArrayList(); public static ArrayList get() { return keysDown; } public static void add(Integer key) { keysDown.add(key); } public static void remove(Integer key) { keysDown.remove(key); } } KeyPress: public class KeyPress { public static void run(KeyEvent evt) { if (KeysDown.get().contains(KeyEvent.VK_RIGHT)) { Main.player.moveRight(); } else if (KeysDown.get().contains(KeyEvent.VK_LEFT)) { Main.player.moveLeft(); } else if (KeysDown.get().contains(KeyEvent.VK_DOWN)) { Main.player.moveDown(); } else if (KeysDown.get().contains(KeyEvent.VK_UP)) { Main.player.moveUp(); } } } Thank you!
MCMastery
1

голосов
1

ответ
177

Просмотры

Как я получаю NullPointerException? Работа с JApplet

It's been a long time since I have worked with java and I forgot how to deal with a NullPointerException. The only thing I can think of is line 8. I'm not sure if that's how I'm supposed to retrieve an audio file from the same folder the java file is located in. This is my first time working with AudioClip. If that is the problem, what is the correct way to do it? Thank you in advance for any help/tips. If there is any other piece of information that I can provide, to help you help me, please let me know. :) [Purpose of this code is to create three buttons that will allow the user to play,loop, and stop the music] import javax.swing.*; import java.applet.*; import java.awt.*; import java.awt.event.*; public class ProgAsThree extends JApplet { private AudioClip music = Applet.newAudioClip(getClass().getResource("Music.mp3")); private JButton jbtPlay = new JButton("Play"); private JButton jbtLoop = new JButton("Loop"); private JButton jbtStop = new JButton("Stop"); public ProgAsThree() { JPanel panel = new JPanel(); panel.add(jbtPlay); panel.add(jbtLoop); panel.add(jbtStop); add(panel); jbtPlay.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { music.play(); } }); jbtLoop.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { music.loop(); } }); jbtStop.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { music.stop(); } }); } } java.lang.NullPointerException at sun.applet.AppletAudioClip.(AppletAudioClip.java:65) at java.applet.Applet.newAudioClip(Applet.java:311) at ProgAsThree.(ProgAsThree.java:8) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:525) at java.lang.Class.newInstance0(Class.java:372) at java.lang.Class.newInstance(Class.java:325) at sun.applet.AppletPanel.createApplet(AppletPanel.java:795) at sun.applet.AppletPanel.runLoader(AppletPanel.java:724) at sun.applet.AppletPanel.run(AppletPanel.java:378) at java.lang.Thread.run(Thread.java:722)
FireFoxxie
1

голосов
1

ответ
26

Просмотры

Избегайте Самозаверяющую БАНКУ

Я работал над этим в течение примерно 15 часов в течение прошлой недели. Я пытаюсь получить Java-апплет на моем сайте. Он продолжает блокировать его. Я сертифицировал свой веб-сайт через StartSSL.com и мой апплет с Jarsigner, но он все еще говорит мне, что самозаверяющие приложения блокируются. Как я могу сделать это не самозаверенный, но подписан кем-то еще? Я не хочу, чтобы это работало на моем компьютере ... Я хочу работать на каждом компьютере. Я следовал около полудюжины учебников, и до сих пор я безуспешные. Как я могу идти о том, чтобы мой Java апплет, чтобы быть на моем веб-сайте таким образом, что любой желающий может запустить его?
Evorlor
1

голосов
1

ответ
86

Просмотры

Как вызвать событие windowClosing () в апплет, когда браузер закрывается

Как я могу вызвать () событие windowClosing, чтобы сделать некоторые очистки в апплете, когда я закрываю браузер?
Sami
1

голосов
1

ответ
36

Просмотры

Панели, показывающие на апплета, но не в режиме Application

Я пытаюсь закончить домашнее задание, данное мне, мне было предложено создать «художника», который рисует прямоугольники и круги, с возможностью их удаления с помощью кнопки минус и т.д .. Последняя задача была сделать приложение может работать и как апплет и приложение .. Я пытался следовать инструкциям моего учителя о том, как сделать приложение для работы как в качестве апплета и приложения и теперь панели показывают на раме только в режиме апплета. импорт java.awt *. импорт java.awt.event *. импорт java.util.ArrayList; импорт javax.swing *. импорт javax.swing.border *. общественный класс HW4 расширяет JApplet {частного окончательный String [] EraseComboBoxList = { "None", "All", "Rect", "Круг"}; Частный окончательный размер EraseShapeColorPanelDim = новое измерение (130, 65); Частный окончательный размер ControlPanelDim = новое измерение (200, 600); частное окончательное ИНТ PanelsBorderThickness = 3; частное окончательное ИНТ ControlPanelHGap = 50; частное окончательное ИНТ ControlPanelVGap = 20; частный конечный статический ИНТ FrameHGap = 10; частный конечный статический ИНТ FrameVGap = 0; частное конечное статическое измерение FramePanelDim = новое измерение (800, 600); частный JTextArea drawnShapes = новый JTextArea (11, 12); частный ArrayList shapeList = новый ArrayList (); частная статическая Форма tempShape; частная логическая Жеребьевка = ложь; ControlPanel ControlPanel = новый ControlPanel (); PainterPanel paintPanel = новые PainterPanel (); общественный HW4 () {tempShape = новая форма (); setBackground (Color.LIGHT_GRAY); (добавить paintPanel, BorderLayout.CENTER); setANDrequestFocus (); (добавить ControlPanel, BorderLayout.EAST); } государственной статической силы основных (String [] арг) {JFrame кадр = новый JFrame (); frame.add (новый HW4 ()); frame.setSize (FramePanelDim); frame.setTitle ( "Мой Painter"); frame.setLayout (новый BorderLayout (FrameHGap, FrameVGap)); frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); frame.setLocationRelativeTo (нуль); frame.setResizable (ложь); frame.setAlwaysOnTop (истина); frame.setVisible (истина); } Частного класса PainterPanel расширяет JPanel {частного PainterPanel () {setBorder (новая Линейная граница (Color.GRAY, PanelsBorderThickness)); addMouseListener (новый MouseAdapter () {@Override общественного недействительными mouseReleased (MouseEvent mouseRelease) {если ((Math.abs (tempShape.startX - tempShape.width) + Math .abs (tempShape.startY - tempShape.height))! = 0) {Форма форма = новая форма (); shape.color = tempShape.color; shape.shape = tempShape.shape; shape.filled = tempShape.filled; shape.startX = tempShape.startX; shape.startY = tempShape.startY; shape.width = tempShape.width; shape.height = tempShape.height; shapeList.add (форма); appendToTextArea (форма); } Рисовать = ложь; } @Override общественного недействительными mousePressed (MouseEvent mousePress) {tempShape.startX = mousePress.getX (); tempShape.startY = mousePress.getY (); tempShape.width = mousePress.getX (); tempShape. высота = mousePress.getY (); рисовать = истина; }}); addMouseMotionListener (новый MouseMotionAdapter () {@Override общественного недействительными mouseDragged (MouseEvent MouseDrag) {tempShape.width = mouseDrag.getX (); tempShape.height = mouseDrag.getY (); перекрашивать ();}}); } Защищен недействительный paintComponent (график г) {super.paintComponent (г); Graphics2D g2d = (Graphics2D) г; INT StartX, startY, ширина, высота; setANDrequestFocus (); для (INT I = 0; г <shapeList.size (); я ++) {StartX = Math.min (shapeList.get (я) .startX, shapeList.get (I) .width); startY = Math.min (shapeList.get (я) .startY, shapeList.get (я) .height); ширина = Math.abs ((shapeList.get (я). StartX - shapeList.get (я) .width)); высота = Math.abs ((shapeList.get (я) .startY - shapeList.get (я) .height)); g2d.setColor (shapeList.get (я) .color); g2d.setStroke (новый BasicStroke (3)); если ((ширина! = 0) && (высота! = 0)) {если (shapeList.get (я) .shape.equals ( "Rect")) {если (shapeList.get (я) .filled) {g2d. FillRect (StartX, startY, ширина, высота); } Еще {g2d.drawRect (StartX, startY, ширина, высота); }} Еще {если (shapeList.get (я) .filled) {g2d.fillOval (StartX, startY, ширина, высота); } Еще {g2d. drawOval (StartX, startY, ширина, высота); }}}} Если (нарисовать) {StartX = Math.min (tempShape.startX, tempShape.width); startY = Math.min (tempShape.startY, tempShape.height); ширина = Math.abs (tempShape.startX - tempShape.width); высота = Math.abs (tempShape.startY - tempShape.height); g2d.setColor (tempShape.color); g2d.setStroke (новый BasicStroke (3)); если ((ширина! = 0) && (высота! = 0)) {если (tempShape.shape.equals ( "Rect")) {если (tempShape.filled) {g2d.fillRect (StartX, startY, ширина, высота) ; } Еще {g2d.drawRect (StartX, startY, ширина, высота); }} Еще {если (tempShape.filled) {g2d.fillOval (StartX, startY, ширина, высота); } Еще {g2d.drawOval (StartX, startY, ширина, высота); }}}}}} Частный класс ControlPanel расширяет JPanel реализует ActionListener {частное JComboBox eraseComboBox = новый JComboBox (EraseComboBoxList); частный JPanel erasePanel; частный JScrollPane ScrollPane = новые JScrollPane (drawnShapes, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); частный JPanel shapePanel; частный JRadioButton Микросхема = новый JRadioButton ( "Rect", правда); частный JRadioButton shapeCircle = новый JRadioButton ( "Круг"); частный JPanel colorPanel; частный JRadioButton colorRed = новый JRadioButton ( "Красный"); частный JRadioButton colorBlue = новый JRadioButton ( "Blue", правда); частный JCheckBox fillCheckBox = новый JCheckBox ( "Fill"); частный ControlPanel () {createControlPanel (); } Общественного недействительными createControlPanel () {setLayout (новый FlowLayout (FlowLayout.CENTER, ControlPanelHGap, ControlPanelVGap)); setPreferredSize (ControlPanelDim); createErasePanel (); createShapePanel (); createColorPanel (); createFillCheckBox (); addKeyListeners (); drawnShapes.setEditable (ложь); добавить (erasePanel); добавить (shapePanel); добавить (colorPanel); добавить (fillCheckBox); добавить (ScrollPane); setBorder (новая Линейная граница (Color.GRAY, PanelsBorderThickness)); } Общественного недействительными createErasePanel () {erasePanel = новые JPanel (); erasePanel.setBorder (новый Граница с заголовком ( "Удалить")); eraseComboBox.setToolTipText ( «Пожалуйста, выберите, какой тип формы вы хотели бы удалить»); eraseComboBox.addActionListener (новый ActionListener () {@Override общественный недействительный actionPerformed (ActionEvent е) {если (eraseComboBox.getSelectedItem () равно ( "Rect")) {для (INT I = 0;. <я shapeList.size (); я ++) {если ((shapeList.get (я) .shape) .equals ( "Rect")) {shapeList.remove (я); --i;}} removeReWriteTextArea (); paintPanel. перекрасить (); } Если (eraseComboBox.getSelectedItem () равно ( "Круг").) {Для (INT I = 0; г <shapeList.size (); я ++) {если ((shapeList.get (I) .shape) .equals ( "Круг")) {shapeList.remove (я); --я; }} RemoveReWriteTextArea (); paintPanel.repaint (); } Если (eraseComboBox.getSelectedItem () равно ( "Все").) {Для (INT I = 0; г <shapeList.size (); я ++) {shapeList.remove (I); --я; } RemoveReWriteTextArea (); paintPanel.repaint (); }}}); erasePanel.add (eraseComboBox); erasePanel.setPreferredSize (EraseShapeColorPanelDim); } Общественного недействительными createShapePanel () {shapePanel = новые JPanel (); shapePanel.setBorder (новый Граница с заголовком ( "Форма")); ButtonGroup shapeGroup = новый ButtonGroup (); shapeGroup.add (Микросхема); shapeGroup.add (shapeCircle); shapeRect.setMnemonic ( 'R'); shapeCircle.setMnemonic ( 'C'); shapeRect.addActionListener (это); shapeCircle.addActionListener (это); shapePanel.add (Микросхема); shapePanel.add (shapeCircle); shapePanel.setPreferredSize (EraseShapeColorPanelDim); } Общественного недействительными createColorPanel () {colorPanel = новые JPanel (); colorPanel.setBorder (новый Граница с заголовком (» 0) {shapeList.remove (shapeList.size () - 1); shapeList.trimToSize (); removeReWriteTextArea (); paintPanel.repaint (); }}}}); } @Override общественный недействительный actionPerformed (ActionEvent е) {tempShape.shape = "Rect"; если (shapeCircle.isSelected ()) {tempShape.shape = "Круг"; } TempShape.color = Color.BLUE; если (colorRed.isSelected ()) {tempShape.color = Color.RED; } TempShape.filled = ложь; если (fillCheckBox.isSelected ()) {tempShape.filled = TRUE; }}} Частный класс Shape {частные булевы заполнены = ложь; частный цвет цвет = Color.BLUE; частная форма String = " Строка getColorString общественности () {если (цвет == Color.RED) {возвращение "Красный"; } Еще {возвращает "Blue"; }}} Частная пустота setANDrequestFocus () {controlPanel.setFocusable (истина); controlPanel.requestFocusInWindow (); } Общественного недействительный removeReWriteTextArea () {drawnShapes.setText (нуль); для (INT I = 0; г <shapeList.size (); я ++) {appendToTextArea (shapeList.get (я)); }} Общественного недействительный appendToTextArea (Shape формы) {Строка добавление = shape.shape + " "+ shape.getColorString () +"," + "заполнить =" + shape.filled; drawnShapes.append (добавить + "\ п"); }} Строка getColorString общественности () {если (цвет == Color.RED) {возвращение "Красный"; } Еще {возвращает "Blue"; }}} Частная пустота setANDrequestFocus () {controlPanel.setFocusable (истина); controlPanel.requestFocusInWindow (); } Общественного недействительный removeReWriteTextArea () {drawnShapes.setText (нуль); для (INT I = 0; г <shapeList.size (); я ++) {appendToTextArea (shapeList.get (я)); }} Общественного недействительный appendToTextArea (Shape формы) {Строка добавление = shape.shape + " "+ shape.getColorString () +"," + "заполнить =" + shape.filled; drawnShapes.append (добавить + "\ п"); }} }}} Частная пустота setANDrequestFocus () {controlPanel.setFocusable (истина); controlPanel.requestFocusInWindow (); } Общественного недействительный removeReWriteTextArea () {drawnShapes.setText (нуль); для (INT I = 0; г <shapeList.size (); я ++) {appendToTextArea (shapeList.get (я)); }} Общественного недействительный appendToTextArea (Shape формы) {Строка добавление = shape.shape + " "+ shape.getColorString () +"," + "заполнить =" + shape.filled; drawnShapes.append (добавить + "\ п"); }} }}} Частная пустота setANDrequestFocus () {controlPanel.setFocusable (истина); controlPanel.requestFocusInWindow (); } Общественного недействительный removeReWriteTextArea () {drawnShapes.setText (нуль); для (INT I = 0; г <shapeList.size (); я ++) {appendToTextArea (shapeList.get (я)); }} Общественного недействительный appendToTextArea (Shape формы) {Строка добавление = shape.shape + " "+ shape.getColorString () +"," + "заполнить =" + shape.filled; drawnShapes.append (добавить + "\ п"); }} }} Общественного недействительный appendToTextArea (Shape формы) {Строка добавление = shape.shape + " "+ shape.getColorString () +"," + "заполнить =" + shape.filled; drawnShapes.append (добавить + "\ п"); }} }} Общественного недействительный appendToTextArea (Shape формы) {Строка добавление = shape.shape + " "+ shape.getColorString () +"," + "заполнить =" + shape.filled; drawnShapes.append (добавить + "\ п"); }}
Django Freeman
1

голосов
1

ответ
34

Просмотры

Проблема отображения кости изображения в JApplet

Здравствуйте, я пытаюсь добавить кости изображения на стороне моей программы для игры в кости. Тем не менее, я продолжаю нарваться вопрос всех моих JLabels, Jtextfeilds и JButtons исчезают. Dice изображения: Craps.java:. Импорт java.awt *; импорт javax.swing *. импорт java.awt.event *. общественный класс оправляется расширяет JApplet реализует ActionListener {частный статический окончательный длинный serialVersionUID = 1L; // постоянные переменные для статуса игры Окончательный INT WON = 0, ЗАБРОШЕННОЙ = 1, ПРОДОЛЖИТЬ = 2; // другие переменные, используемые в программе булева firstRoll = TRUE; INT sumOfDice = 0; INT MyPoint = 0; INT gameStatus = ПРОДОЛЖИТЬ; INT numberHouseWins = 0; INT numberPlayerWins = 0; Строка разделитель = "*******"; INT die1, die2, workSum; // умирают лица Image dieFace1, dieFace2, dieFace3, dieFace4, dieFace5, dieFace6; // компоненты графического пользовательского интерфейса JLabel dieLabel1, dieLabel2, sumLabel, rollLabel, pointLabel; JLabel lblHouseWins, lblPlayerWins; JLabel leftDivider, rightDivider; JTextField firstDie, secondDie, сумма, точка; JTextField txtHouseWins, txtPlayerWins; JButton рулон; общественного недействительной краска (график г) {если (die1 == 1) {перекрасить (); g.drawImage (dieFace1, 0, 0, это); } Иначе, если (die1 == 2) {перекрашивать (); g.drawImage (dieFace2, 0, 0, это); } Иначе, если (die1 == 3) {перекрашивать (); g.drawImage (dieFace3, 0, 0, это); } Иначе, если (die1 == 4) {перекрашивать (); g.drawImage (dieFace4, 0, 0, это); } Иначе, если (die1 == 5) {перекрашивать (); g.drawImage (dieFace5, 0, 0, этот); } Иначе, если (die1 == 6) {перекрашивать (); g.drawImage (dieFace6, 0, 0, это); } Если (die2 == 1) {перекрашивать (); g.drawImage (dieFace1, 0, 30, это); } Иначе, если (die2 == 2) {перекрашивать (); g.drawImage (dieFace2, 0, 30, это); } Иначе, если (die2 == 3) {перекрашивать (); g.drawImage (dieFace3, 0, 30, это); } Иначе, если (die2 == 4) {перекрашивать (); g.drawImage (dieFace4, 0, 30, это); } Иначе, если (die2 == 5) {перекрашивать (); g.drawImage (dieFace5, 0, 30, это); } Иначе, если (die2 == 6) {перекрашивать (); g.drawImage (dieFace6, 0, 30, это); }} Инициализации общественного недействительными () {// Графическая настройка компонентов пользовательского интерфейса JPanel дисплей = новые JPanel (); display.setLayout (новый GridLayout (8, 2, 10, 10)); // создание JLabel Die1 на дисплее dieLabel1 = новый JLabel ( "Die 1:", SwingConstants.RIGHT); display.add (dieLabel1); firstDie = новый JTextField (3); firstDie.setEditable (ложь); display.add (firstDie); // создание JLabel Die2 на дисплей dieLabel2 = новый JLabel ( "Die 2:", SwingConstants.RIGHT); display.add (dieLabel2); secondDie = новый JTextField (3); secondDie.setEditable (ложь); display.add (secondDie); // создание JLabel суммы умереть на дисплее sumLabel = новый JLabel ( "Их сумма:", SwingConstants.RIGHT); display.add (sumLabel); сумма = новый JTextField (4); sum.setEditable (ложь); display.add (сумма); // создание JLabel rollLabel на дисплее rollLabel = новый JLabel ( "Ролл Again", SwingConstants.RIGHT); display.add (rollLabel); рулон = новый JButton ( "Roll Dice"); roll.addActionListener (это); display.add (профилирование); // создание JLabel pointLabel на дисплей pointLabel = новый JLabel ( "Точка является:", SwingConstants.RIGHT); display.add (pointLabel); Точка = новый JTextField (3); point.setEditable (ложь); display.add (точка); // создание JLabel leftDivider и rightDivider к дисплею leftDivider = новый JLabel (делитель, SwingConstants.RIGHT); display.add (leftDivider); rightDivider = новый JLabel (делитель, SwingConstants.LEFT); display.add (rightDivider); // создание JLabel lblPlayerWins и JTextField txtPlayerWins на дисплей lblPlayerWins = новый JLabel ( "побеждает игрок:", SwingConstants.RIGHT); display.add (lblPlayerWins); txtPlayerWins = новый JTextField (4); txtPlayerWins.setEnabled (ложь); display.add (txtPlayerWins); // создание JLabel lblHouseWins и JTextField txtHouseWins на дисплее lblHouseWins = новый JLabel ( "Дом побед:", SwingConstants.RIGHT); display.add (lblHouseWins); txtHouseWins = новый JTextField (4); txtHouseWins.setEnabled (ложь); display.add (txtHouseWins); setContentPane (дисплей); dieFace1 = GetImage (getDocumentBase (), "die1.jpg"); dieFace2 = GetImage (getDocumentBase (), "die2.jpg"); dieFace3 = GetImage (getDocumentBase (), "die3.jpg"); dieFace4 = GetImage (getDocumentBase (), "die4.jpg"); dieFace5 = GetImage (getDocumentBase (), "die5.jpg"); dieFace6 = GetImage (getDocumentBase (), "die6.jpg"); } Общественного недействительными actionPerformed (ActionEvent е) {игра (); } Общественного недействительными воспроизведения () {если (firstRoll) {sumOfDice = rollDice (); Переключатель (sumOfDice) {// игрок выигрывает в первом случае рулонной 7: Случай 11: gameStatus = ВЫИГРАННЫЙ; point.setText ( ""); перерыв; // дом выигрывает игрок проигрывает в первом случае рулонного 2: случай 3: случай 12: gameStatus = утрачен; точка. SetText ( ""); перерыв; по умолчанию: gameStatus = ПРОДОЛЖИТЬ; MyPoint = sumOfDice; point.setText (Integer.toString (MyPoint)); firstRoll = ложь; перерыв; }} Еще {sumOfDice = rollDice (); если (sumOfDice == MyPoint) gameStatus = WON; иначе, если (sumOfDice == 7) gameStatus = ПОТЕРЯНЫ; } Если (gameStatus == ПРОДОЛЖИТЬ) showStatus ( "Ролл снова"); еще {если (== gameStatus WON) {showStatus ( "победы игрока" + "Нажмите Ролл кости, чтобы играть снова"); numberPlayerWins ++; txtPlayerWins.setText (Integer.toString (numberPlayerWins)); } Еще {showStatus ( "выигрывает дом." + "Нажмите Ролл Dice, чтобы играть снова"); numberHouseWins ++; txtHouseWins.setText (Integer.toString (numberHouseWins)); } FirstRoll = TRUE; }} Общественного INT rollDice () {die1 = 1+ (INT) (Math.random () * 6); die2 = 1+ (INT) (Math.random () * 6); workSum = die1 + die2; firstDie.setText (Integer.toString (die1)); secondDie.setText (Integer.toString (die2)); sum.setText (Integer.toString (workSum)); вернуться workSum; }} } FirstRoll = TRUE; }} Общественного INT rollDice () {die1 = 1+ (INT) (Math.random () * 6); die2 = 1+ (INT) (Math.random () * 6); workSum = die1 + die2; firstDie.setText (Integer.toString (die1)); secondDie.setText (Integer.toString (die2)); sum.setText (Integer.toString (workSum)); вернуться workSum; }} } FirstRoll = TRUE; }} Общественного INT rollDice () {die1 = 1+ (INT) (Math.random () * 6); die2 = 1+ (INT) (Math.random () * 6); workSum = die1 + die2; firstDie.setText (Integer.toString (die1)); secondDie.setText (Integer.toString (die2)); sum.setText (Integer.toString (workSum)); вернуться workSum; }}
1

голосов
1

ответ
303

Просмотры

Как вы получаете свинг имя кнопки на строку? [Дубликат]

Этот вопрос уже есть ответ здесь: Получить компонент Swing, по имени 7 ответов я пытаюсь определить метку кнопки качелей, используя строку и затем преобразовать строку в имя кнопки, а затем, используя имя, чтобы установить метку. Как-то не работает, и я пытался использовать GetClass (); и Class.forName (); Вот мой собственный класс, где я пытаюсь изменить метку кнопки, поставив во имя кнопки в виде строки; общественного недействительными Зет (String SCL) {Класс с = scl.getClass (); // Класс с = Class.forName (SCL); если (beurt) {c.setLabel ( "Х"); beurt = FALSE; } // конец, если еще {c.setLabel ( "О"); beurt = TRUE; }} Может кто-нибудь, пожалуйста, помогите мне с этим? Спасибо заранее.
Lolslayer
-2

голосов
0

ответ
18

Просмотры

Как вы можете Auto заполнить веб-сайт Java-апплет?

У нас на работе двух временных систем отчетности, которые мы используем, оба веб-основе. Я должен заполнить время от одной системы в форму, в других в конце недели. Я хочу, чтобы иметь возможность с кодом для получения часов в первой системе, которую я знаю, как это сделать, и заполнить их в другое время системы отчетности, но форма была вы заполняете, что является Java-апплет со строками и столбцами. Таким образом, вопрос / вопросы: можно ли это сделать? И как я могу идти о решении это?
LundI
1

голосов
1

ответ
0

Просмотры

краска () на Java-апплета установлен в бесконечный цикл. Как избежать моих метод от делать то же самое?

Я создаю игру, и я хочу, некоторые изображения будут перекрашены в то время как другие, чтобы оставаться постоянной. Я положил мои методы в краске () на Java-апплета, но это, кажется, чтобы получить доступ к методам в бесконечном цикле. Как создать «метод драйвера», который будет иметь доступ мои методы, но и использовать жеребьевку () в то же время? общественного недействительной краска (график г) {bufferGraphics.clearRect (0, 0, dim.width, dim.height); //главный экран (); g.drawImage (закадровый, 0, 0, это); } // конец метод Paint общественных недействительное обновление (график г) {краска (г); } Общественные силы основных (String [] арг) {игру (); }
jeesoo
1

голосов
2

ответ
0

Просмотры

Доступ к динамическим compenent (т.е. новый Label) в другой функции класса?

Сейчас я работаю на свинг апплета, и у меня возникают вопросы, ссылки на мой собственный AWT компонент Canvas (очень простой расширенный класс) в других функциях класса, таких, как с любым другим компонентом (т.е. кнопка) обычно создается с Netbean (7.0) 'ы дизайнер , Мой заказ холст элемент добавить здесь, я был уверен, что это было бы соответствующее место (особенно после того, как все остальные компоненты, полученные только что были созданы в том же районе) общественного недействительными Init () {попробуйте {java.awt.EventQueue.invokeAndWait (новый Runnable () {общественного недействительными запуска () {initComponents (); CustomCanvas myCan = новые CustomCanvas (); myCan.setBounds (100, 100, 200, 200);. getContentPane () добавить (myCan) ... Тем не менее, в отличие от Созданные компоненты, Я не могу получить доступ к ним по имени и не могу показаться, чтобы получить доступ к ним с помощью других средств (this.myCan) либо. Я настроил функцию выборки, которая будет обрабатывать кнопку (сгенерированный) в форме свинг манипулировать ранее инстанцированный myCan компонента: частная пустота btnManipCanvasActionPerformed (java.awt.event.ActionEvent ЭВТ) {// По сути недоставало назвать что-то здесь такие как myCan.getGraphics (). setRect ...} вы знаете способ доступа myCan там? Я должен поместить пользовательскую инициализацию компонентов в другой области, чтобы они могли быть в открытом доступе? ActionEvent ЭВТ) {// По сути недоставало назвать что-то здесь, такие как myCan.getGraphics (). SetRect ...} Как вы знаете способ получить доступ к myCan там? Я должен поместить пользовательскую инициализацию компонентов в другой области, чтобы они могли быть в открытом доступе? ActionEvent ЭВТ) {// По сути недоставало назвать что-то здесь, такие как myCan.getGraphics (). SetRect ...} Как вы знаете способ получить доступ к myCan там? Я должен поместить пользовательскую инициализацию компонентов в другой области, чтобы они могли быть в открытом доступе?
Den R.
1

голосов
2

ответ
0

Просмотры

Работа с JApplet с меню

У меня возникли проблемы с моим кодом. Подменю для меню (Music) должен быть тип кнопки радио. Вот мой первый код: импорт javax.swing. *; импорт java.awt *. импорт java.awt.event *. общественный класс AMBAT_FLAB1 расширяет JApplet реализует ActionListener {JMenuBar mainBar = новый JMenuBar (); JMenu menu1 = новый JMenu ( "Файл"); JMenu menu2 = новый JMenu ( "Формат"); JMenu menu3 = новый JMenu ( "фон"); // для файла JMenuItem открыт = новый JMenuItem ( "Open"); JMenuItem сохранить = новый JMenuItem ( "Сохранить"); JMenuItem сброса = новый JMenuItem ( "Сброс"); // для формата JMenuItem SetFont = новый JMenuItem ( "Set Font"); JMenuItem SetColor = новый JMenuItem ( "Set Color"); // для фона JMenuItem изображения = новый JMenuItem ( "Изображения"); JMenuItem музыка = новый JMenuItem (» group.add (игра); //group.add(loop); //music.add(stop); open.addActionListener (это); save.addActionListener (это); reset.addActionListener (это); setFont.addActionListener (это); setColor.addActionListener (это); image.addActionListener (это); music.addActionListener (это); } Общественного недействительными actionPerformed (ActionEvent е) {}} Когда я пытаюсь запустить его, в меню Музыка не отображается. Он меняется на (радио-кнопка) Play. Помогает ли группа кнопок? Когда я пытался использовать кнопку группы ничего не происходит. } Общественного недействительными actionPerformed (ActionEvent е) {}} Когда я пытаюсь запустить его, в меню Музыка не отображается. Он меняется на (радио-кнопка) Play. Помогает ли группа кнопок? Когда я пытался использовать кнопку группы ничего не происходит. } Общественного недействительными actionPerformed (ActionEvent е) {}} Когда я пытаюсь запустить его, в меню Музыка не отображается. Он меняется на (радио-кнопка) Play. Помогает ли группа кнопок? Когда я пытался использовать кнопку группы ничего не происходит.
LittleMissChoco
1

голосов
1

ответ
0

Просмотры

JApplet - alphabet will not allowed

это мой код, который написан в моем апплете KeyListener KeyListener = новый KeyListener () {общественного недействительный Keypressed (KeyEvent KeyEvent) {проверить действительный = новый Validate (); valid.errorMessage (txt_district_id, KeyEvent); } Общественного недействительными keyReleased (KeyEvent KeyEvent) {} общественного недействительными keyTyped (KeyEvent KeyEvent) {}}; txt_district_id.addKeyListener (KeyListener); и код класса валидации является класс Validate общественного {общественного Строка ErrorMessage (KeyEvent KeyEvent, JTextField TXT) {INT KEYCODE = keyEvent.getKeyCode (); Строка KeyText = KeyEvent.getKeyText (KeyCode); //msg.setText(title + ":" + KeyText + "/" + keyEvent.getKeyChar ()); если (KeyCode> 47 && KeyCode <58) {txt.setEditable (истина); } Еще {txt.setEditable (ложь); вернуться «только числовое значение Accepted»; }}} Все работает нормально, но проблема в том, когда пользовательский ввод любого алфавита текстовое поле будет отключено, и это моя проблема. Я имею в виду, что хотел бы, алфавит не могут быть введены и текстовое поле должно быть включено в любом случае. Заранее спасибо.!!
1

голосов
1

ответ
36

Просмотры

не JApplet подключения к проблеме интернет - Как сделать доверять?

У меня есть приложение, которое я использую в качестве JApplet. Он получает доступ к Интернету, но я нашел вопрос, почему это не работает, потому что это, по-видимому, не является доверенным. Как я могу идти о том, приложение доверенный :)
Tim
1

голосов
1

ответ
899

Просмотры

Java Applet Text выделяет на опрокидывание

Я пытаюсь выяснить, как сделать, не редактируемый текст (не JTextField), чей цвет фона изменяется при наведении указателя мыши на него. Я попытался с помощью JButton реализации ActionListener и скрытие элементов, чтобы сделать кнопку, как представляется, только текст, но это только позволяет мне изменить иконки на опрокидывание и обнаружить, когда кнопка нажата. Другая мысль заключается в использовании MouseListener и объявить конкретные координаты прямоугольника вокруг текста, где на mouseMoved он может инициировать выделение. Но ж / что есть проблема для изменения строки длины и перенос слов и т.д. Что такое лучший объект, и слушатель комбо для достижения эффекта выделенного текстового поля на наведении мыши?
woodlumhoodlum
1

голосов
2

ответ
2.6k

Просмотры

Blank screen when invoking in applet viewer

Это мой первый раз, размещение здесь. Я использую GUI в Java в первый раз во время работы на некоторых заданиях. Я начал постепенно кодирования меню итальянского ресторана. Ниже код компилирует нормально без ошибок. После компиляции я запускаю апплет просмотра Italian.html и экран просмотра апплетов только отображает пустое окно. Я немного запутался, у меня нет никаких ошибок, чтобы работать. Я пропускаю что-то простое. Спасибо за любую помощь. импорт javax.swing *. импорт java.awt *. общественного класса итальянский расширяет JApplet {// Объявляем и массив для списка Pastas частной String [] = {макаронные изделия «Спагетти», «Ангел волос Паста», «Пельмени», «Ziti»}; частная String [] соусы = { "Maranaria", "Альфредо", "Пряный Marania"}; общественный итальянский () {// Создание базовой панели для ресторана страницы JPanel i1 = новый JPanel (); i1.setLayout (новый GridLayout (2, 1)); i1.add (новые JComboBox (макаронные изделия)); i1.add (новые JComboBox (соусы)); HTML Java апплета Demo
Jayson Hartless
1

голосов
1

ответ
319

Просмотры

JTextField GetText () застрял после инициализации ()

Раньше это домашнее задание, но теперь это личное, как этот термин снова и я все еще работаю на обучение компонентов Swing. Эта программа является моей попыткой поднять процедурные реализации консоли TicTacToe в апплет в простейшем (смотрит) возможным способ, сторонясь традиционной кнопкой сетки для одного JTextField и кнопки отправки. Он отлично работает через первый раз, но после того, как я переустановить игру с какой-то логики в функции инициализации () (это на самом деле работает, я был удивлен), GetText () возвращает пустую строку вниз в строке 155 (поиск по «ARGH» ). Я в основном съемка в темноте в этой точке, так что, если кто-то могли бы посмотреть и критический анализ, может указать путь к кратчайшему пути через это я действительно ценю это! / ** * TTTapp. . Java - TicTacToe * Реализует простой консольный вариант классической игры * Tic Tac Toe * @author Тодд Хау * @version 1,0 * @since 2012-08-22 * / импорт java.awt *; импорт java.awt.event *. импорт javax.swing *. импорт java.util.ArrayList; импорт java.util. *; / ** * Воспроизведение простой игры Tic Tac Toe. * * Массив 3x3 полукокса генерируются для размещения простого Tic Tac Toe * игр. Игрок выбирает позицию, компьютер выбирает случайным образом * и результаты подсчитаны в обычном порядке. * / Общественный класс TTTapp расширяет JApplet реализует ActionListener {статический логический checkWin = ложь; // переменные управления для определения выигрышей статических булевых boardFull = ложь; // переменные управления для обнаружения связи статического ответа String = «»; // пользовательский ввод статических ИНТ gridPos; // (1-9) 1D респ позиции на ТТТ плате статического Int х, у; // декартовы координаты доска ТТТ статический обугленного игрока; // Х или О, чтобы указать текущий игрок статический символ [] [] плата = новый символ [3] [3]; // 2d ТТТ плата матрицы статического INT [] [] = {Магический Квадрат {8, 1, 6}, // sekrit оружие {3, 5, 7}, {4, 9, 2}}; Контейнер CON = getContentPane (); Шрифт monoFont = новый шрифт ( "Моноширинный", Font.BOLD, 12); JLabel gameBanner1 = новый JLabel ( "Добро пожаловать в Tic Tac Toe!"); JLabel gameBanner2 = новый JLabel ( "Игрок X, Компьютер O"); JLabel spacer1 = новый JLabel (»«); JLabel spacer2 = новый JLabel (»«); JLabel spacer3 = новый JLabel (»«); JLabel совет1 = новый JLabel ( "1 | 2 | 3"); JLabel комитетом2 = новый JLabel ( "--- | --- | ---"); JLabel board3 = новый JLabel ( "4 | 5 | 6"); JLabel board4 = новый JLabel ( "--- | --- | ---"); JLabel board5 = новый JLabel ( "7 | 8 | 9"); JLabel объявить = новый JLabel ( ""); JLabel подскажете = новый JLabel ( "\ nPick доступное пространство, введя номер (1-9):"); JTextField promptField = новый JTextField ( "", 4); JButton submitButton = новый JButton ( "Отправить"); JButton restartButton = новый JButton (» board5.setAlignmentX (Component.CENTER_ALIGNMENT); announce.setAlignmentX (Component.CENTER_ALIGNMENT); prompt.setAlignmentX (Component.CENTER_ALIGNMENT); promptField.setAlignmentX (Component.CENTER_ALIGNMENT); submitButton.setAlignmentX (Component.CENTER_ALIGNMENT); con.add (gameBanner1); con.add (gameBanner2); con.add (spacer1); con.add (совета1); con.add (комитетом2); con.add (board3); con.add (board4); con.add (board5); con.add (spacer2); con.add (объявлять); con.add (приглашение); con.add (promptField); con.add (submitButton); promptField.requestFocus (); System.out.println ( "Real INIT"); submitButton.addActionListener (это); promptField.addActionListener (это); } Еще {con.setLayout (поток); board1.setFont (monoFont); board2.setFont (monoFont); board3.setFont (monoFont); board4.setFont (monoFont); board5.setFont (monoFont); gameBanner1.setAlignmentX (Component.CENTER_ALIGNMENT); gameBanner2.setAlignmentX (Component.CENTER_ALIGNMENT); board1.setAlignmentX (Component.CENTER_ALIGNMENT); board2.setAlignmentX (Component.CENTER_ALIGNMENT); board3.setAlignmentX (Component.CENTER_ALIGNMENT); board4.setAlignmentX (Component.CENTER_ALIGNMENT); board5.setAlignmentX (Component.CENTER_ALIGNMENT); announce.setAlignmentX (Component.CENTER_ALIGNMENT); prompt.setAlignmentX (Component.CENTER_ALIGNMENT); promptField.setAlignmentX (Component.CENTER_ALIGNMENT); submitButton.setAlignmentX (Component.CENTER_ALIGNMENT); restartButton.setAlignmentX (Component.CENTER_ALIGNMENT); con.add (gameBanner1); con.add (gameBanner2); con.add (spacer1); con.add (совета1); con.add (комитетом2); con.add (board3); con.add (board4); con.add (board5); con.add (spacer2); con.add (объявлять); con.add (spacer3); con.add (restartButton); Система. out.println ( "Else INIT"); restartButton.addActionListener (это); }} Общественного недействительный actionPerformed (ActionEvent е) {Строка отбрасывание = ""; // основной игры LOOP (ИЗМЕНИТЬ ОБА БЫВШИЙ ВО ВРЕМЯ ПЕТЛИ ДЛЯ ЕСЛИ ПОЗВОЛИТ GetText Refresh) // игра сбрасывается, если (TTTapp.checkWin == TRUE) {TTTapp.checkWin = ложь; TTTapp.boardFull = ложь; TTTapp.response = ""; TTTapp.board = новый символ [3] [3]; TTTapp.gridPos = (- 1); announce.setText ( ""); con.remove (объявлять); con.remove (restartButton); con.remove (spacer3); board1.setText ( "1 | 2 | 3"); board2.setText ( "--- | --- | ---"); board3.setText ( "4 | 5 | 6"); board4.setText ( "--- | --- | ---"); board5.setText ( "7 | 8 | 9"); promptField.requestFocus (); в этом(); TTTapp.response = promptField.getText (); promptField.setText ( ""); // ### ARGH ЭТО НЕ ЧИТАТЬ promptField ПО INIT () ################} если (TTTapp.boardFull == ложь && TTTapp.checkWin == ложь) { // ################################################ ############### // System.out.println ( "boardFull: "+ boardFull +" checkWin:" + checkWin); displayBoard (TTTapp.board); // очередь игрока // System.out.println ( "Игрок» gridPos, TTTapp.board, TTTapp.player); // ######################################## System.out.println ( "boardFull : «+ boardFull); displayBoard (TTTapp.board); }} // проверка для игрока выигрыш TTTapp.checkWin = scanBoard (TTTapp.board, TTTapp.magicsquare, TTTapp.player); если (TTTapp.checkWin == TRUE) {displayBoard (TTTapp.board); con.remove (приглашение); con.remove (promptField); con.remove (submitButton); announce.setText ( "\ nPLAYER WINS"); } // очередь TTTapp.player компьютера = 'O'; если (TTTapp. checkWin == FALSE) {если (== TTTapp.boardFull ложные) {TTTapp.gridPos = computerPlays (TTTapp.board); TTTapp.boardFull = playGridPos (TTTapp.gridPos, TTTapp.board, TTTapp.player); displayBoard (TTTapp.board); } // проверка компьютера выигрыш здесь TTTapp.checkWin = scanBoard (TTTapp.board, TTTapp.magicsquare, TTTapp.player); если (TTTapp.checkWin == TRUE) {displayBoard (TTTapp.board); con.remove (приглашение); con.remove (promptField); con.remove (submitButton); announce.setText ( "\ nCOMPUTER WINS"); }}} Если (TTTapp. checkWin == ложно && TTTapp.boardFull == TRUE) {displayBoard (TTTapp.board); con.remove (приглашение); con.remove (promptField); con.remove (submitButton); announce.setText ( "\ nTIE GAME"); } Если (TTTapp.checkWin == TRUE) {инициализации (); } Перекрашивать (); } / ** * Дисплей платы TicTacToe как массив символов сетки * @param доски 2D, представляющий игровое поле * / общественного недействительного displayBoard (символ [] [] доска) {INT gridPos; // (1-9) 1d Rep позиции на борту полукокса [] ячейка = новый символ [9]; // массив из разобранных элементов борту ТТТ обугливается readCell; // одиночной ТТТ элемента INT линия; // номер строки распечатки String [] boardDisplay = новый String [5]; // массив для «консоли печати», чтобы апплет // System.out.println ( «»); // сохраняет каждый элемент displayBoard считывания в ячейке [] для (INT х = 0; х
Todd Howe
1

голосов
3

ответ
1.5k

Просмотры

Нажатие клавиши ENTER не работают для JTextField в апплете

У меня есть JTextField в JApplet с ActionListener. Я составил его с помощью Eclipse, и она отлично работает. Но когда я пытаюсь загрузить его в файл .html с помощью апплета, то JTextField не регистрирует / распознать клавишу ENTER, когда я нажимаю его. Похоже, что ActionListener не работает. Я использовал: инициализации общественного недействительными () {TextField = новый JTextField (20); textField.setText ( "Введите свой вопрос здесь."); textField.selectAll (); textField.addActionListener (это); Textarea = новый JTextArea (10, 20); textArea.setEditable (ложь); JScrollPane ScrollPane = новый JScrollPane (Textarea, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); // Добавление компонентов в Applet. GridBagLayout GridBag = новый GridBagLayout (); Контейнер ContentPane = getContentPane (); ContentPane. setLayout (GridBag); GridBagConstraints с = новые GridBagConstraints (); c.gridwidth = GridBagConstraints.REMAINDER; c.fill = GridBagConstraints.HORIZONTAL; gridBag.setConstraints (TextField, с); contentPane.add (TextField); c.fill = GridBagConstraints.BOTH; c.weightx = 1,0; c.weighty = 1,0; gridBag.setConstraints (ScrollPane, с); contentPane.add (ScrollPane); перевод строки = System.getProperty ( "line.separator"); } Общественного недействительными (событие ActionEvent) actionPerformed {Строка текста = textField.getText (); Строка вопрос = «»; Строка ответа = «»; Вопрос = textField.getText (); Вопрос = ProcessString (вопрос); ответ = Ответ (вопрос); textArea.append (текст + перевод строки); textArea.append (ответ + перевод строки); textField.selectAll (); } Статическая строка noAnswer; статический логический knowAnswer = TRUE; // обработать строку вопроса, вынимают, не ACSII символы, пробелы, // чтобы нижний пространство общественного Строка ProcessString (String вопрос) {вопрос = question.toLowerCase (); Строка [] слова = question.split ( "\\ s +"); вопрос = ""; для (INT WordCount = 0; WordCount <words.length; WordCount ++) {слова [WordCount] = слова [WordCount] .replaceAll ( "[^ A-Za-Z]", ""); если (WordCount = words.length - 1!) вопрос = вопрос + слова [WordCount] + "«; остальное вопрос = вопрос + слова [WordCount]; // System.out.println (слова [WordCount]); } Обратный вопрос; } Общественного Строка ответ (String вопрос) {Строка ответ = ""; / * Если база данных знают ответ (не не знает), затем возвращает ответ. если база данных не знает ответа, а затем восстановить ответ в базе данных. * / Если (knowAnswer == верно) {// открыть файл базы данных и поиск, если вопросы соответствуют любому в // ЦА Scanner базы данных // = NULL; попробуйте {СБН = новый сканер (новый файл ( "database.txt")); } Задвижка (FileNotFoundException е) {e.printStackTrace (); } INT answerFrequency = 0; булево matchFound = ложь; в то время как (sc.hasNext ()) {INT questionCount = sc.nextInt (); Строка = строка sc.nextLine (); Строка [] databaseLine = line.split ( "\\ s +"); Строка databaseQuestion = ""; Строка databaseAnswer = "";
yangliu2
1

голосов
1

ответ
161

Просмотры

Sub JComponent Won't gain focus despite visible, enabled being true

Я работаю над проблемой, и я не могу показаться, чтобы получить фокус для JComponent компонентов подразделов одного JApplet. Я должен сосредоточиться компонентом, так что я могу использовать клавиатуру слушатель для регистрации нажатий клавиша для ряда экранных элементов (игра). Вот код: класс TestApplet расширяет JApplet {общественного недействительными инициализации () {SetSize (400, 800); новый класс тест (); setFocusable (истина); SetVisible (истина); }} Общественного класса TestClass расширяет JPanel {общественного TestClass () {grabFocus (); requestFocus (); requestFocusInWindow (); System.out.println ( "видны:" + IsVisible ()); System.out.println ( "Enbled" + IsEnabled ()); System.out.println ( "Фокусируемый" + isFocusable ()); System.out.println (isFocusOwner ()); }} Выход вычисляется как виден: правда Enbled правды Focusable верно неверно это несмотря на то, что я использовал все возможно comination фокуса захвата для субкомпонента. Если я помещаю один и тот же код в JApplet, клавиатуры слушателя, что я создаю делает работу, но не тогда, когда я использую субкомпонент ... Это сказочное важно для моего приложения, так как у меня много JPanels в иерархической топографии. NB это было предложено, что это может быть MacOSX определенную ошибку, - я использую Intellij CE11.1. Хотя я не могу проверить это. UPDATE: Я должен также создать функциональные возможности, которые программа должна реагировать на mb1,2 и среднюю кнопку мыши - ясно, что это невозможно без внимания? уже использовал все возможно comination фокуса захвата для субкомпонента. Если я помещаю один и тот же код в JApplet, клавиатуры слушателя, что я создаю делает работу, но не тогда, когда я использую субкомпонент ... Это сказочное важно для моего приложения, так как у меня много JPanels в иерархической топографии. NB это было предложено, что это может быть MacOSX определенную ошибку, - я использую Intellij CE11.1. Хотя я не могу проверить это. UPDATE: Я должен также создать функциональные возможности, которые программа должна реагировать на mb1,2 и среднюю кнопку мыши - ясно, что это невозможно без внимания? уже использовал все возможно comination фокуса захвата для субкомпонента. Если я помещаю один и тот же код в JApplet, клавиатуры слушателя, что я создаю делает работу, но не тогда, когда я использую субкомпонент ... Это сказочное важно для моего приложения, так как у меня много JPanels в иерархической топографии. NB это было предложено, что это может быть MacOSX определенную ошибку, - я использую Intellij CE11.1. Хотя я не могу проверить это. UPDATE: Я должен также создать функциональные возможности, которые программа должна реагировать на mb1,2 и среднюю кнопку мыши - ясно, что это невозможно без внимания? s высказано предположение, что это может быть MacOSX определенную ошибку, - я использую Intellij CE11.1. Хотя я не могу проверить это. UPDATE: Я должен также создать функциональные возможности, которые программа должна реагировать на mb1,2 и среднюю кнопку мыши - ясно, что это невозможно без внимания? s высказано предположение, что это может быть MacOSX определенную ошибку, - я использую Intellij CE11.1. Хотя я не могу проверить это. UPDATE: Я должен также создать функциональные возможности, которые программа должна реагировать на mb1,2 и среднюю кнопку мыши - ясно, что это невозможно без внимания?
peter_gent
1

голосов
1

ответ
137

Просмотры

Закрытие JApplet не заканчивается процесс Java

У меня есть приложение на основе браузера, который работает JApplet. Я бегу это приложение на 64 битной машине окна. Когда я закрыть приложение процесс Java не закрывается автоматически. 32 бита машина не имеет эту проблему. Как я могу решить эту проблему?
Arker
1

голосов
2

ответ
191

Просмотры

Расслоение объектов (Это распространяется JComponet) на JApplet

Я в настоящее время, в течение которого JApplet я добавить два объекта, которые и расширяют JComponet. Объект А в основном большой квадрат и объект B является небольшим квадратом, мне нужен объект B, чтобы всегда находиться в передней части объекта А, тем не менее, я не могу работать, как установить отводками в JApplet, чтобы сделать это. Ток я использую код последующие, который добавляет обе детали и показывает им, как я хочу, однако иногда объект А фронт объекта B. общественности недействительным инициализации () {добавить (myapplet, BorderLayout.CENTER); размер (200, 400); В = новый блок (Color.green, 10, 10); myapplet.add (В); А = новый блок (Color.red, 100, 100); myapplet.add (А); myapplet.addMouseListener (это); StartTimer (); }
Zac Powell
1

голосов
1

ответ
582

Просмотры

Linux + Динамически вставленный Java апплет = ошибка при вызове метода на NPObject

У меня есть HTML-страница, где я динамически создавать HTML-код апплета и вставить его в страницу с с помощью JavaScript. После того, что я называю методы некоторых апплета. Все отлично работает в других ОС, а пользователю работать в некоторых машинах Linux раньше. Но теперь под Linux я получаю сообщение очень странное и слишком общие ошибки: Ошибка метода на NPObject вызова! Я действительно не понимаю, что происходит. При создании кода апплета не динамически (не остроумие JS, просто вставьте его в HTML в шаблоне), он отлично работает. Что бы это могло быть? Какие-нибудь мысли? Благодарю.
Bogdan Burim
1

голосов
2

ответ
687

Просмотры

апплет не работает в браузере

Я после некоторых упражнений, как строить апплеты; Однако, я не могу получить его, чтобы показать в браузере. После попытки несколько раз, и будучи уверенным, что апплет был правильным и так была страница HTML (как на тот же папке). Я скачал ту же версию моего апплета с сайта автора (класс + HTML) поместить их обоих в папку, и они работали. Странно то, что оба файла идентичны моим, но шахта не работает ... кто-то может предложить то, что может быть не так? вот и мои файлы (очень просто) Вот ссылка на апплета на веб-http://www.cs.armstrong.edu/liang/intro8e/book/DisplayLabel.html здесь мои файлы HTML файл Java апплета Demo класс файл (Java код) Chapter18Applets пакет; импорт javax.swing.JApplet; импорт javax.swing.JLabel; общественный класс DisplayLabel расширяет JApplet {общественного DisplayLabel () {добавить (новый JLabel (, 0) "Это апплет!"); }}
miatech
1

голосов
2

ответ
341

Просмотры

Комбинации клавиш не работает должным образом в JApplet

Класс используется, чтобы начать игру, в которую я сделал, когда вы нажимаете пространство, а затем перезапустить пространство, когда вы нажимаете пространство в игре над экраном. Он работает в первый раз, когда я нажимаю пространство и начинает игру так же, как следовало, но, когда я прихожу к игре над экраном и нажмите пробел, ничего не происходит. Я попытался расширяет JFrame вместо JApplet, а затем он работает просто отлично. Это мой код: пакет игры; импорт java.awt *. импорт java.awt.event *. импорт javax.swing *. общественный класс GameTest расширяет JApplet {частного PAPITest Papi; частная панель TestPane; частное булево inMenu = TRUE; частный ImageIcon II; частное изображение изображения; общественного недействительными Init () {setFocusable (истина); requestFocusInWindow (); requestFocus (); б = новый ImageIcon ( "Бал Jump.png"); изображение = ii.getImage (); Papi = новый PAPITest (); Панель = новый TestPane (); Добавить (панель); SetSize (600600); SetVisible (истина); } Пустот краска общественности (график г) {если (inMenu == истины) {Graphics2D g2d = (Graphics2D) г; g2D.drawImage (изображение, 0, 0, это); перекрасить (); }} Общественного класса TestPane расширяет JPanel {общественного TestPane () {InputMap им = getInputMap (WHEN_IN_FOCUSED_WINDOW); ActionMap ат = getActionMap (); im.put (KeyStroke.getKeyStroke (KeyEvent.VK_SPACE, 0, ложь), "нажата"); im.put (KeyStroke.getKeyStroke (KeyEvent.VK_SPACE, 0, правда), "выпущен"); am.put ( "нажата", новый AbstractAction () {@Override общественный недействительный actionPerformed (ActionEvent е) {если (inMenu == верно) {inMenu = ложь; удалить (панель); papi.setSize (600600); papi.setAlive (истина); добавить (Papi); SetVisible (истина); } Если (! Papi.isAlive () = истина) {удалить (Papi); Papi = новый PAPITest (); papi.setSize (600600); добавить (Papi); SetVisible (истина); перекрасить (); }}}); am.put ( "выпущен", новый AbstractAction () {@Override общественный недействительный actionPerformed (ActionEvent е) {если (inMenu == верно) {inMenu = ложь; удалить (панель); papi.setSize (600600); papi.setAlive (истина); добавить (Papi); SetVisible (истина); } Если (! Papi.isAlive () = истина) {удалить (Papi); Papi = новый PAPITest (); papi.setSize (600600); добавить (Papi); SetVisible (истина); перекрасить (); }}}); setFocusable (истина); requestFocusInWindow (); } @Override общественное измерение GetPreferredSize () {вернуть новое измерение (600, 600); } @Override защищен paintComponent пустот (Графика г) {super.paintComponent (г); Graphics2D g2d = (Graphics2D) г; g2D.drawImage (изображение, 0, 0, это); перекрасить (); }}}
programmer
1

голосов
1

ответ
95

Просмотры

Мой JApplet исчезает при перемещении на дополнительный монитор

Поэтому я написал небольшую программу для класса. Я разработал его в качестве JApplet внутри недекорированного JFrame, а не в браузере. Кроме того, это простая программа рисования сортов. Вы щелкаете два очка, чтобы сделать выбранные фигуры, то она называет перекрашивать. Проблема у меня в том, что когда вы рисуете в то время как программа была перенесены на мой второй монитор, весь JApplet, кажется, исчезает, только показывая обнаженную форму. Она исчезает только после того, как будет выбран второй пункт, так что я предполагаю, что это делает это на перекрашивать (). Мой второй монитор использует точно такую ​​же марку и разрешение, даже цветовой профиль. Любые другие технические детали, я использую Java 1.7 (не могу вспомнить, какие обновления с верхней части моей головы), Windows 8 Enterprise 64x, используя кнопку Run в Eclipse для тестирования. Заранее благодарю за любую помощь!
OffLuffy
1

голосов
2

ответ
825

Просмотры

Удалить элемент из GridBagLayout

Как я могу удалить элемент из GridBagElement? http://i.stack.imgur.com/1BsDW.jpg Я хочу, чтобы удалить выбранный элемент, нажав на кнопку. Как я могу отправить имя выбранного элемента в качестве параметра к кнопке действия?
Aclber
1

голосов
1

ответ
2.1k

Просмотры

How to create a Java Applet accessing webcam using JAVACV

I have created a Java Application using JavaCV and it is running successfully. Now I need to create an Applet to access the Web Cam. I Know taht the applet signing is needed to access the Web Cam. My problem is that I have tried to create the applet with the following code. But it is not working. ie the GUI is not creating and no error message is there in the IDE. import static com.googlecode.javacv.cpp.opencv_core.IPL_DEPTH_8U; import static com.googlecode.javacv.cpp.opencv_core.cvAbsDiff; import static com.googlecode.javacv.cpp.opencv_core.cvFlip; import static com.googlecode.javacv.cpp.opencv_imgproc.CV_CHAIN_APPROX_SIMPLE; import static com.googlecode.javacv.cpp.opencv_imgproc.CV_GAUSSIAN; import static com.googlecode.javacv.cpp.opencv_imgproc.CV_RETR_LIST; import static com.googlecode.javacv.cpp.opencv_imgproc.CV_RGB2GRAY; import static com.googlecode.javacv.cpp.opencv_imgproc.CV_THRESH_BINARY; import static com.googlecode.javacv.cpp.opencv_imgproc.cvCvtColor; import static com.googlecode.javacv.cpp.opencv_imgproc.cvFindContours; import static com.googlecode.javacv.cpp.opencv_imgproc.cvSmooth; import static com.googlecode.javacv.cpp.opencv_imgproc.cvThreshold; import java.awt.Color; import java.awt.event.WindowEvent; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.lang.reflect.InvocationTargetException; import java.net.HttpURLConnection; import java.net.URL; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import javax.imageio.ImageIO; import com.googlecode.javacpp.Loader; import com.googlecode.javacv.FrameGrabber; import com.googlecode.javacv.OpenCVFrameGrabber; import com.googlecode.javacv.FrameGrabber.Exception; import com.googlecode.javacv.cpp.opencv_core.CvContour; import com.googlecode.javacv.cpp.opencv_core.CvMemStorage; import com.googlecode.javacv.cpp.opencv_core.CvSeq; import com.googlecode.javacv.cpp.opencv_core.IplImage; /* * To change this template, choose Tools | Templates * and open the template in the editor. */ /** * * @author samp */ public class VismanWeb extends javax.swing.JApplet { /** * Initializes the applet NewJApplet */ private String server=""; private String secur=""; private String ipaddr=""; IplImage frame; private boolean captFlag=false; public void start() { FrameGrabber grabber = new OpenCVFrameGrabber(""); int height=240,width=320; grabber.setImageHeight(height); grabber.setImageWidth(width); try { //Start grabber to capture video grabber.start(); //Declare img as IplImage IplImage img; while (true) { //inser grabed video fram to IplImage img img = grabber.grab(); if (img != null) { //Flip image horizontally cvFlip(img, img, 1); //Show video frame in canvas capturePnl.getGraphics().drawImage(img.getBufferedImage(), 0, 0, 320, 240, null); } } } catch (Exception e) { } } @Override public void init() { /* Set the Nimbus look and feel */ // /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(VismanWeb.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(VismanWeb.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(VismanWeb.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(VismanWeb.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } // try { java.awt.EventQueue.invokeAndWait(new Runnable() { public void run() { initComponents(); } }); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InvocationTargetException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * This method is called from within the init() method to initialize the * form. WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // private void initComponents() { capturePnl = new javax.swing.JPanel(); imagePnl = new javax.swing.JPanel(); captureBtn = new javax.swing.JButton(); getContentPane().setBackground( Color.WHITE ); setMaximumSize(new java.awt.Dimension(360, 560)); setMinimumSize(new java.awt.Dimension(360, 560)); setPreferredSize(new java.awt.Dimension(360, 560)); capturePnl.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0))); capturePnl.setMaximumSize(new java.awt.Dimension(320, 240)); capturePnl.setMinimumSize(new java.awt.Dimension(320, 240)); capturePnl.setPreferredSize(new java.awt.Dimension(320, 240)); javax.swing.GroupLayout capturePnlLayout = new javax.swing.GroupLayout(capturePnl); capturePnl.setLayout(capturePnlLayout); capturePnlLayout.setHorizontalGroup( capturePnlLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 318, Short.MAX_VALUE) ); capturePnlLayout.setVerticalGroup( capturePnlLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 238, Short.MAX_VALUE) ); imagePnl.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(38, 21, 248))); imagePnl.setMaximumSize(new java.awt.Dimension(320, 240)); imagePnl.setMinimumSize(new java.awt.Dimension(320, 240)); javax.swing.GroupLayout imagePnlLayout = new javax.swing.GroupLayout(imagePnl); imagePnl.setLayout(imagePnlLayout); imagePnlLayout.setHorizontalGroup( imagePnlLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 320, Short.MAX_VALUE) ); imagePnlLayout.setVerticalGroup( imagePnlLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 240, Short.MAX_VALUE) ); captureBtn.setText("Capture"); captureBtn.setMaximumSize(new java.awt.Dimension(320, 30)); captureBtn.setMinimumSize(new java.awt.Dimension(320, 30)); captureBtn.setPreferredSize(new java.awt.Dimension(320, 30)); captureBtn.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { imagePnl.getGraphics().drawImage(frame.getBufferedImage(), 0, 0,imagePnl.getWidth(), imagePnl.getHeight(), null); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(20, 20, 20) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(imagePnl, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(captureBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 320, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(capturePnl, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) .addContainerGap(20, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addComponent(capturePnl, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(captureBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(imagePnl, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap()) ); }// // Variables declaration - do not modify private javax.swing.JButton captureBtn; private javax.swing.JPanel capturePnl; private javax.swing.JPanel imagePnl; // End of variables declaration } please help me to find a solution. Or suggest me another way to create the Applet. I 've created applet using V4L4J library. But it work only in Linux. I need to work both in Windows and Linux
JEMSHID56
1

голосов
1

ответ
50

Просмотры

Не в состоянии добавить компоненты JApplet

Я пытаюсь понять, как JApplet работы. Я работал с JFrame до и я получил это работает, но я пытаюсь создать одни и те же программы каталога, но в JApplet без какого-либо успеха. Я знаю, есть что-то не так с этим кодом, но я не знаю, что: импорт java.awt.Color; импорт java.awt.FlowLayout; импорт java.awt.font; импорт java.awt.event.ActionEvent; импорт java.awt.event.ActionListener; // Importerar свинг Biblioteket dá DeT behövs för Att skapa användargränssnitt. импорт javax.swing *. общественный класс BrevApplet расширяет JApplet {частного статического окончательного длинного serialVersionUID = 1L; общественного недействительными Init () {JButton performCalculation = новый JButton ( "Beräkna"); JTextField TextField = новый JTextField (15); JTextArea Textarea = новый JTextArea (200, 200); textArea.setText ( "dfgdgdgdfdgdfg"); 100 грамм && <251) {kostnad = 24; } Иначе, если (грамм> 250 грамм && <501) {kostnad = 36; } Иначе, если (грамм> 500 грамм && <1001) {kostnad = 48; } Иначе, если (грамм> 1000 грамм && <2001) {kostnad = 72; } = Сообщение "Цена:" + kostnad; } Еще {сообщение = "Brev över 2000g räknas сома Paket."; } TextArea.setText (сообщение); }}); JPanel panel1 = новый JPanel (новая FlowLayout ()); panel1.add (TextField); panel1.add (performCalculation); panel1.add (Textarea); panel1.setOpaque (истина); panel1.setBackground (Color.green); panel1.setForeground (Color.blue); panel1.setFont (новый шрифт ( "Verdana", Font.BOLD, 20)); добавить (panel1); }} Это дает следующий результат: То, что я пытаюсь добиться в том, что вы вводите сумму, Gram письмо wiegh и стоимость будет рассчитываться и отображаться в JTextArea. Но JTextArea даже не показывая.
user1924247
1

голосов
1

ответ
151

Просмотры

бар пункт JMenu (выход) не работает

У меня есть JMenuBar, который имеет Сохранить, Печать и Выйти. Я попытался Выход до сих пор, но не могу заставить его работать. Я хотел бы, Выход для выхода из системы, печати для печати Total, и Сохранить, чтобы сохранить его в папку. Мне просто нужно Стир в правильном направлении. Любая помощь приветствуется. Вот мой код:. [Код] импорт java.awt *; импорт java.applet *. импорт java.awt.event *. импорт javax.swing *. импорт javax.swing.text *. импорт java.text.DecimalFormat; общественный класс cousinsTree расширяет JApplet реализует ActionListener {Контейнер панели; JMenuBar mnuBar; JMenuItem mnuExit; JMenuItem mnuPrint; JMenuItem mnuSave; JButton submitButton; JButton clearButton; JTextField ПгвЬЫат; JTextField LastName; JTextField Адрес; JTextField города; JTextField Итого; JComboBox обслуживание; JComboBox howOften; JComboBox numTrees; LayoutManager setLayout; String [] TreeList; String [] numList; String [oftenList]; / ** * * / общественного недействительными Init () {Panel = getContentPane (); this.setLayout (новый FlowLayout ()); TreeList = новый String [3]; TreeList [0] = "Trim"; TreeList [1] = "Химический спрей"; TreeList [2] = "Injection"; numList = новый String [3]; numList [0] = "0-5"; numList [1] = "6-10"; numList [2] = "11>"; oftenList = новый String [3]; oftenList [0] = "Ежемесячно"; oftenList [1] = "Квартальный"; oftenList [2] = "Ежегодно"; Panel.setBackground (Color.green); submitButton = новый JButton ( "Отправить"); submitButton.addActionListener (это); submitButton.setPreferredSize (новое измерение (100,30)); clearButton = новый JButton ( "Clear"); clearButton. addActionListener (это); clearButton.setPreferredSize (новое измерение (100,30)); Firstname = новый JTextField ( "", 10); JLabel lblFirstName = новый JLabel ( "First Name"); LastName = новый JTextField ( "", 10); JLabel lblLastName = новый JLabel ( "Last Name"); Адрес = новый JTextField ( "", 15); JLabel lblAddress = новый JLabel ( "Адрес"); Город = новый JTextField ( "Коламбус", 10); JLabel lblCity = новый JLabel ( "Город"); Всего = новый JTextField ( "", 10); JLabel lblTotal = новый JLabel ( "Итого"); // Сервис = новый TextField ( "Обслуживание (отделка, Химическая спрей или инъекций).", 20); JLabel lblService = новый JLabel ( "Сервис"); Сервис = новый JComboBox (TreeList); JLabel lblhowOften = новый JLabel ( "Как часто?" ); howOften = новый JComboBox (oftenList); JLabel lblnumTrees = новый JLabel ( "Число деревьев"); numTrees = новый JComboBox (numList); / * Конфигурация * / // добавлять элементы к панели Panel.add (lblFirstName); Panel.add (FirstName); Panel.add (lblLastName); Panel.add (LastName); Panel.add (lblAddress); Panel.add (адрес); Panel.add (lblCity); Panel.add (город); Panel.add (lblnumTrees); Panel.add (numTrees); Panel.add (lblService); Panel.add (службы); Panel.add (lblhowOften); Panel.add (howOften); Panel.add (submitButton); Panel.add (clearButton); Panel.add (lblTotal); Panel.add (всего); this.setSize (новое измерение (375, 275)); this.setLocation (0,0); Service.setSelectedIndex (0); howOften.setSelectedIndex (0); numTrees.setSelectedIndex (0); JMenuBar mnuBar = новый JMenuBar (); setJMenuBar (mnuBar); JMenuItem mnuSave = новый JMenu ( "Сохранить", правда); mnuSave.setMnemonic (KeyEvent.VK_S); mnuSave.setDisplayedMnemonicIndex (0); mnuBar.add (mnuSave); mnuSave.addActionListener (это); JMenuItem mnuPrint = новый JMenu ( "Print", правда); mnuPrint.setMnemonic (KeyEvent.VK_P); mnuPrint.setDisplayedMnemonicIndex (0); mnuBar.add (mnuPrint); mnuPrint.addActionListener (это); JMenuItem mnuExit = новый JMenu ( "Выход", правда); mnuExit.setMnemonic (KeyEvent.VK_X); mnuExit.setDisplayedMnemonicIndex (0); mnuBar.add (mnuExit); mnuExit.addActionListener (это); } @Override общественный недействительный actionPerformed (ActionEvent е) {если (e.getSource () == clearButton) {firstName.setText ( ""); lastName.setText ( ""); Address.setText ( ""); City.setText ( ""); Total.setText ( ""); } Если (e.getSource () == submitButton) {Int выбора; INT timesPerYear = 0; INT serviceCost = 0; двойная скорость = 0, serviceRate = 0; двойной результат = 0; Выбор = howOften.getSelectedIndex (); если (== Выбор 0) {timesPerYear = 12; } Иначе, если (== Выбор 1) {timesPerYear = 4; } Иначе, если (== Выбор 2) {timesPerYear = 1; } Выбор = Service.getSelectedIndex (); если (== Выбор 0) {serviceCost = 20; } Иначе, если (== Выбор 1) {serviceCost = 25; } Иначе, если (== Выбор 2) {serviceCost = 30; } Выбор = numTrees.getSelectedIndex (); если (Выбор == 0) {скорость = 5; } Иначе, если (Выбор == 1) {скорость = 10; } Иначе, если (Выбор == 2) {скорость = 15; } DecimalFormat twoDigits = новый DecimalFormat ( "$ #, ### 00."); Результат = (serviceCost + ставка) * timesPerYear; Total.setText ( "" + twoDigits.format (результат) + ""); } Если (e.getSource () == mnuExit) {System.out.print ( "Выход"); System.exit (0); }}} [/ Код] Формат (результат) + ""); } Если (e.getSource () == mnuExit) {System.out.print ( "Выход"); System.exit (0); }}} [/ Код] Формат (результат) + ""); } Если (e.getSource () == mnuExit) {System.out.print ( "Выход"); System.exit (0); }}} [/ Код]
user3076816
1

голосов
2

ответ
186

Просмотры

Java JApplet ошибка Синтаксис объявления

Пожалуйста, вы можете помочь с этим, у меня есть проблема с ошибкой декларирования JApplet. Это дает ошибку на одометре линии: «Несколько маркеров на этой линии - ошибку синтаксиса на маркер (ы), неуместны конструкт (ы) - Класс одометр сериализации не объявляет статический конечный serialVersionUID поле типа длинного». Спасибо
NatiLevi
1

голосов
1

ответ
508

Просмотры

KeyListener работает, но не

Im довольно новый для KeyListener, но в последнее время я сделал небольшую программу, которая будет ниже, который использует KeyListener сделать клавиши A, W, S, D двигаться квадрат. Ну я использовал Dropbox, чтобы получить программу на этом ноутбуке, и теперь он не работает. Это кажется странным мне, что он работает на клавиатуре, но не на клавиатуре ноутбука. Любые идеи, почему? Вот код, а часть: общественный класс Game расширяет JApplet реализует KeyListener {общественного логический isMoving = ложь; INT тест = 0; Rect, г = новый Rect (); общественного недействительный KeyPressed (KeyEvent е) {} общественного недействительный keyReleased (KeyEvent е) {} // игнорировать общественные пустоты keyTyped (KeyEvent е) {символ keyChar = e.getKeyChar (); если (keyChar == KeyEvent.VK_S) {r.yVelocity - = 1; } Если (keyChar == KeyEvent.VK_W) {r.yVelocity + = 1; } Если (keyChar == KeyEvent.VK_A) {r.xVelocity - = 1; } Если (keyChar == KeyEvent.VK_D) {r.xVelocity + = 1; }}
Brandon G

Просмотр дополнительных вопросов