• Обработка событий с кнопки?

    @mrsantak
    Смотрите самый нижний из Exception'ов:
    Caused by: java.lang.NullPointerException
    at sample.Controller.action1(Controller.java:69)
    ... 57 more

    Как видно на строчке 69 в файле Controller.java в методе action1 возникает NPE - это строчка
    signInBtn.setText("fgsdhjk");
    NPE тут может вылететь только если в signInBtn лежит null.
    Смотрим что такое signInBtn:
    @FXML
    private Button signInBtn;

    Как видно это должна быть кнопка заданная в fxml файле с fx:id равным signInBtn. Ищем эту кнопку в xml и находим следующее:
    <Button id="signInBtn" defaultButton="true" mnemonicParsing="false" onAction="#action1" text="Sign In" textFill="$x2">
      <font>
    	<Font size="30.0" />
      </font>
    </Button>

    И вот тут становится понятна ошибка - вы вместо атрибута fx:id указали просто id, другими словами вы забыли добавить неймспейс - добавьте его, и байндинг заработает. Т.е. правильно будет так:
    <Button fx:id="signInBtn" defaultButton="true" mnemonicParsing="false" onAction="#action1" text="Sign In" textFill="$x2">
      <font>
    	<Font size="30.0" />
      </font>
    </Button>

    Замечу так же, что у вас та же ошибка и с многими другими атрибутами. Обрати внимание на то какие аттрибуты в каком неймспейсе должны использоваться.
    Ответ написан
    1 комментарий
  • Как правильней организовать использование одного и того же класса в нескольких проектах (Java)?

    @sirs
    Если используешь maven - то все становится еще проще.
    Вынеси утилитные классы, которые планируешь переиспользовать в отдельный проектик и собирай его просто mvn clean install, при обновлении инкрементай версию, пиши комментарии если нужно. А в основным проектах просто подключай как dependency с нужной версией.
    Ответ написан
    Комментировать
  • Jsp переход между страницами?

    как понять переход? Просто <a href="example.com/jsp2.jsp">Другой Jsp</a>

    Или скажите подробнее что вы хотите именно
    Ответ написан
    Комментировать
  • Вывод на экран java?

    @Neonoviiwolf
    Flutter developer
    Да тут пропуск целого семестра видно. Открываем главу "массивы" и читаем
    Ответ написан
    2 комментария
  • Возможно ли подмена видео, которое снимается с камеры?

    edinorog
    @edinorog
    Троллей не кормить!
    возможно. а теперь можно я возьму конфетку с полки?
    Ответ написан
    4 комментария
  • На чем реализовывать интерфейс для Java-приложения?

    SibWol
    @SibWol
    Начинающий Java разработчик
    Рекомендую JavaFX в связке с SceneBuilder. Это заметно ускорит разработку интерфейса Вашего приложения.
    Ответ написан
    Комментировать
  • Mono || Java || Python: оптимальный стэк технологий для нового проекта?

    @jackroll
    Сверхразум
    >опытных коллег
    здесь такие не водятся, ищите на stackoverflow.com
    Ответ написан
    3 комментария
  • Как создать движение объекта за 1 секунду времени?

    @kamiLLxiii
    Android-разработчик
    Поднимаете со стола ручку и отпускаете в воздухе. Практически гарантировано сработает.
    Серьезно, вам лень описать вопрос или вы сами не знаете, что хотите спросить? Какой объект, куда движение, где создать?
    Опишите детально, что вам нужно и вам с удовольствием ответят.
    Ответ написан
    Комментировать
  • Как идентифицировать юзера инкогнито?

    @nirvimel
    Собрание секты верующих в приватный режим браузера в этом треде. Волшебная кнопка "инкогнито" (слово то какое красивое) надевает на юзера шапку невидимку, защищает его от слежки и вообще от всего.

    Так что же такое приватный режим на самом деле?

    Privacy mode or "private browsing" or "incognito mode"[1] is a privacy feature in some web browsers to disable browsing history and the web cache. This allows a person to browse the Web without storing local data that could be retrieved at a later date. Privacy mode will also disable the storage of data in cookies and Flash cookies. This privacy protection is only on the local computing device as it is still possible to identify frequented websites by associating the IP address at the web server.

    https://en.wikipedia.org/wiki/Privacy_mode

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

    Чтобы окончательно развеять сомнения в своей уникальности, включаем приватный режим, проходим этот тест и наслаждаемся результатом (Show full results for fingerprinting -> Ctrl+F эту строку):
    Your browser fingerprint appears to be unique among the xxx,xxx,xxx tested so far.
    Ответ написан
    1 комментарий
  • Tomcat это сервер, на котором деплоится сервер?

    @aol-nnov
    > Обычно, я сервер сайд своих апликух просто хощу у себя на ПК без всяких tomcato'в.
    особенно, если он у тебя на похапэ.

    Tomcat - контейнер сервлетов. Решительно хотя бы в вики загляни.
    Ответ написан
    2 комментария
  • Как отрицательные вещественные числа представлены в компьютере?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    Так же, как и целые -- один бит отдается на знак. В русской википедии как-то скудно, есть в английской. Вообще стандарт называется IEEE 754.
    Ответ написан
    5 комментариев
  • Может ли servlet обрабатывать несколько страниц?

    EugeneP2
    @EugeneP2
    Java Dev
    Используйте паттерн Model-View-Controller.

    Например, у вас есть приложение Контакты.

    Сервлет будет контроллером обрабатывающий различные манипуляции с контактами.
    Для отображения результатов, форм, списков - используйте jsp

    Вот простенький пример контроллера (сервлета), который обрабатывает CRUD операции с контактами
    @WebServlet(urlPatterns = "/contact")
    public class ContactController extends HttpServlet {
    
    	private ContactDao contactDao = new HashMapContactDao();
    	
    	@Override
    	protected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    		contactDao.removeById(Long.valueOf(req.getParameter("id")));
    		this.doGet(req, resp);
    	}
    
    	@Override
    	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    		List<Contact> contactList = contactDao.findAll();
    		req.setAttribute("contactList", contactList);
    		req.getRequestDispatcher("view/contact.jsp").forward(req, resp);
    	}
    
    	@Override
    	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    		
    		Contact newContact = new Contact();
    		newContact.setLastName(req.getParameter("lastName"));
    		newContact.setFirstName(req.getParameter("firstName"));
    		newContact.setPhone(req.getParameter("phone"));
    		
    		this.contactDao.add(newContact);
    
    		this.doGet(req, resp);
    	}
    
    	@Override
    	protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    		
    		Contact newContact = new Contact();
    		newContact.setId(Long.valueOf(req.getParameter("id")));
    		newContact.setLastName(req.getParameter("lastName"));
    		newContact.setFirstName(req.getParameter("firstName"));
    		newContact.setPhone(req.getParameter("phone"));
    
    		this.contactDao.update(newContact);
    		
    		super.doPut(req, resp);
    	}
    }


    Отображение (view) контактов view/contact.jsp
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
    	pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Список контактов</title>
    <style type="text/css">
    table {
    	border-collapse: collapse;
    }
    
    table, td, th {
    	border: 1px solid black;
    }
    </style>
    </head>
    <body>
    
    	<h1>Список контактов</h1>
    
    	<form method="post">
    		<fieldset>
    			<legend>Новый контакт</legend>
    			<p>
    				<label>Фамилия: <input type="text" name="lastName" /></label>
    			</p>
    			<p>
    				<label>Имя: <input type="text" name="firstName" /></label>
    			</p>
    			<p>
    				<label>Номер телефона: <input type="text" name="phone" /></label>
    			</p>
    			<p>
    				<button>Создать</button>
    			</p>
    		</fieldset>
    	</form>
    
    	<table style="border: 1px solid black;">
    		<tr>
    			<th>№</th>
    			<th>Фамилия</th>
    			<th>Имя</th>
    			<th>Номер телефона</th>
    		</tr>
    
    
    		<c:if test="${contactList != null}">
    			<c:forEach items="${contactList}" var="c">
    
    				<tr>
    					<td>${c.id}</td>
    					<td>${c.lastName}</td>
    					<td>${c.firstName}</td>
    					<td>${c.phone}</td>
    				</tr>
    
    			</c:forEach>
    		</c:if>
    	</table>
    
    </body>
    </html>


    Модель
    public class Contact {
    
    	private Long id;
    	private String lastName;
    	private String firstName;
    	private String phone;
    
    	public Contact() {
    	}
    
    	public Contact(String lastName, String firstName, String phone) {
    		this.lastName = lastName;
    		this.firstName = firstName;
    		this.phone = phone;
    	}
    
    	public Long getId() {
    		return id;
    	}
    
    	public void setId(Long id) {
    		this.id = id;
    	}
    
    	public String getLastName() {
    		return lastName;
    	}
    
    	public void setLastName(String lastName) {
    		this.lastName = lastName;
    	}
    
    	public String getFirstName() {
    		return firstName;
    	}
    
    	public void setFirstName(String firstName) {
    		this.firstName = firstName;
    	}
    
    	public String getPhone() {
    		return phone;
    	}
    
    	public void setPhone(String phone) {
    		this.phone = phone;
    	}
    
    
    	@Override
    	public String toString() {
    		return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE);
    	}
    }


    А доступ к данным и их манипуляциями мы отделяем слоем DAO (простенькая реализация на основе HashMap). Благодаря интерфейсу, в будущем мы сможем подставить любую реализацию, например хранение контактов в базе данных.

    public class HashMapContactDao implements ContactDao {
    
    	private AtomicLong idCounter = new AtomicLong();
    	private Map<Long, Contact> map = new ConcurrentHashMap<Long, Contact>();
    	
    	@Override
    	public List<Contact> findAll() {
    		return new ArrayList<Contact>(this.map.values());
    	}
    
    	@Override
    	public void removeById(Long id) {
    		this.map.remove(id);
    	}
    
    	@Override
    	public Contact add(Contact contact) {
    		Long newId = this.idCounter.incrementAndGet();
    		contact.setId(newId);
    		this.map.put(newId, contact);
    		return contact;
    	}
    
    	@Override
    	public void update(Contact contact) {
    		this.map.put(contact.getId(), contact);
    	}
    }


    З.Ы.
    Хоть это и "низкий уровень", но с ним разобраться нужно. Потом конечно лучше использовать Spring MVC
    Ответ написан
    3 комментария
  • Можно ли придать переменной int ЛЮБОЕ целое значение, к примеру, из промежутка (C++ && Java)?

    LittleFatNinja
    @LittleFatNinja
    горе девелопер, любитель лютой садомии
    Можно ли придать переменной int ЛЮБОЕ целое значение

    нет
    Ответ написан
    Комментировать
  • Поток System.in - экземпляр абстрактного класса. Как такое возможно?

    @FoxInSox
    Во-первых создать экземпляр абстрактного класса можно, необходимо только реализовать абстрактные методы:
    InputStream is = new InputStream() {
    	@Override public int read() throws IOException {
    		return 123;
    	}
    };
    System.out.println(is.read());//123

    Во-вторых у InputStream'а целая гора наследников. Я не знаю как там формулировал Шилдт, но он наверняка не имел ввиду что System.in это именно экземпляр InputStream'а.

    В-третьих вы сами можете(должны) это проверить:
    System.out.println(System.in);//java.io.BufferedInputStream@5577140b

    Т.е. System.in конкретно на моей машине в моей jvm это экземпляр BufferedInputStream.

    PS больше пишите код. На одну прочитанную страницу книги должна быть написана одна страница кода.
    Ответ написан
    Комментировать
  • Как эффективно взаимодействовать между классами?

    gadfi
    @gadfi
    https://gamega.org
    класс кнопки который что то сортирует, другой класс кнопки что то выводит .....если эффективно то переписать этот ужас.
    Кнопка это кнопка, она не должна все это делать, вы можете навесить на нее слушателя и отловить событие, а вот по этому событию что то делать.
    Логика и ui должны быть максимально слабо связаны.
    Ответ написан
    Комментировать
  • Как собрать системный блок на 400$?

    Arris
    @Arris
    Сапиенсы учатся, играя.
    > консультанты в магазинах впаривают игровые видюхи


    говоришь консультанту: "Мне нужна печатная машинка для работы в архикаде".

    Если продолжает впаривать всякую хрень - требуешь его руководителя и объясняешь ситуацию. И так далее, пока не дойдешь до компетентного специалиста. Если не дошел - иди в другой магазин.

    Рано или поздно ты встретишь консультанта, который хочет не лоха развести на бабло, а уважает покупателя как человека.
    Ответ написан
    Комментировать
  • Что лучше 1С или C#(ASP.NET)?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    конечно 1С, все стартапы перспективные только на нём создаются.
    Ответ написан
    1 комментарий
  • Почему полиморфизм так работает?

    pi314
    @pi314
    Президент Солнечной системы и окрестностей
    Объяснить суть полиморфизма "на пальцах" довольно просто. Представьте себе класс Телефон. Его спроектировал некто в далеких 80-х, и определил в нем метод набратьНомер(). А потом другой программист в 90-х отнаследовал от него класс МобильныйТелефон и перекрыл метод набратьНомер(), т.к. грубо говоря, в новом устройстве набор производится уже не импульсно, а тонально. А потом третий программист отнаследовал от него класс Смартфон. При этом он не стал трогать метод набратьНомер(), а просто добавил методы для нового функционала, типа определитьПоложениеПоGPS() и т.д.

    Теперь представьте себе пользователя. Он родом из 80-х и понятия не имеет о тональном наборе и GPS... но если ему в руки дать любое из этих устройств, он сможет набрать номер и сделать звонок. Почему? Потому, что он умеет использовать метод набратьНомер(), и большего ему знать не нужно.

    А теперь представьте другого пользователя, нашего современника. Он вырос в эпоху смартфонов... но если ему в руки дать старый телефонный аппарат, он тоже сможет сделать звонок, т.к., опять же, знает метод набратьНомер().

    Применительно к ООП, пользователь - это переменная, содержащая ссылку на экземпляр класса. Ее тип (как она была объявлена) - это "набор знаний" о возможностях этого экземпляра. И т.к. Смартфон в своей основе является Телефон-ом, мы вполне можем дать его в руки гипотетическому пользователю из 80-х:
    Телефон устройство = new Смартфон();
    в результате чего он сможет сделать звонок:
    устройство.набратьНомер("03");
    А вот определить свое местоположение он не сможет, пока не узнает о существовании соотв. метода:
    Смартфон усовершенствованноеУстройство = (Смартфон)устройство;

    Это называется приведением типа. В данном примере у экземпляра класса уже был соотв. метод, но чтоб им воспользоваться, нужно сначала явно указать, что мы хотим рассматривать имеющееся у нас в руках устройство не как "простой" Телефон, а как Смартфон.

    P.S. Кстати, в этом примере мы затронули не только полиморфизм, но и наследование, и инкапсуляцию (пользователя "снаружи" совершенно не интересует, как именно производится набор номера - тонально, импульсно или еще как-то иначе)... так сказать, все три кита ООП в одном флаконе. И только так вообще имеет смысл рассматривать эти принципы, т.к. они по сути неотделимы друг от друга, как Отец, Сын и Святой Дух в Христианстве или же длина, ширина и высота в трехмерном пространстве :) Если это понять, ООП становится совершенно простой и естественной парадигмой программирования.
    Ответ написан
    8 комментариев
  • Где можно почитать о процессе разработки и о технологиях в одном месте?

    Ewintory
    @Ewintory
    Java / Android developer
    Начало конструирования. Разбитие приложения на пакеты.Пакеты на классы.Классы на методы.

    Методы еще на строки забыли разбить.
    Ответ написан
    1 комментарий
  • Как развить программистское мышление?

    Как ни странно, нужно программировать. И мыслить при этом.
    Ответ написан
    1 комментарий