• Объясните код из Java?

    @zelan
    Кратко обо мне не получится.
    Если в классе A не объявлен ни один конструктор, то он по умолчанию содержит конструктор без параметров - A(), однако, если объявлен хотя бы один конструктор с параметрами, то конструктор A() исчезает. Но исчезает он только тогда, когда явно не объявлен.

    Примеры
    //содержит неявно 1 конструктор A()
    class A{
    }
    
    //тоже содержит  конструктор A() но явно
    class A{
        A(){
        }
    }
    
    //cодержит СОДЕРЖИТ ТОЛЬКО 1 конструктор, конструктора A() уже нет
    class A{
        A(int x){
        }
    }
    
    //есть оба конструктора
    class A{
        A(int x){
        }
    
        A(){}
    }


    В примере класс A содержит один конструктор с параметром - A(int x), это значит, что он не имеет конструктора A(), и его нужно (при необходимости) определить самому.

    Механизм наследования таков:
    - мы хотим создать объект B, вызвав конструктор B(int b)
    - первой строкой конструктора должна быть строка super(...) - с параметрами или без, это нужно для того чтобы сначала сконструировался родитель, ведь B унаследован от A
    - если первая строка другая, то компилятор подставляет конструктор родителя без параметров - super(), в этом случае будет вызвано создание объекта A с помощью конструктора A().
    - но так как в объекте A не определен этот конструктор - вылетает ошибка

    Можно исправить так
    Либо добавить в объект A конструктор A(), либо в конструктор объекта B, добавить явный вызов конструктор родителя super(int x) ( в данном случае у родителя есть только 1 конструктор - A(int x)
    Ответ написан
    1 комментарий
  • В чем разница создания объекта в Java так, или так?

    @zelan
    Кратко обо мне не получится.
    Все просто: в первом варианте выражение занимает две строки, а во втором одну.
    Ответ написан
    Комментировать
  • Расскажите про создание исполняемого файла в JAVA?

    @zelan
    Кратко обо мне не получится.
    Программка для упаковки .jar в .exe
    Есть графический интерфейс, все станет понятно.
    Если пользуешь maven то есть плагин для него.
    Ответ написан
    Комментировать
  • Событие когда ScrollView прокручивается до конца?

    @zelan
    Кратко обо мне не получится.
    В ответ на комментарии к вопросу:

    Wolfak: аннотация "Override" говорит, что этот метод переопределен. Переопределен он может быть ТОЛЬКО В ТОМ классе где он уже БЫЛ описан ранее.

    Такой метод есть в классе ScrollView, соответственно именно в нем и надо переопределить этот метод, и создать объект.

    Данный метод вызывается скроллвиевом всегда, когда положения скроллов меняется. Соответственно нужно внести изменение в логику работы (добавить свои действия).

    Есть 2 общих пути (мб есть и другие).

    Первый:
    ScrollView scroll = new ScrollView(context){     //context - то что должно быть внутри скрола
         @Override 
          protected void onScrollChanged(int l, int t, int oldl, int oldt)  
          { 
                 //тут, надо вставить то, что хочешь ( то что описано в твоем методе
          }
    }


    Получившийся объект вставить на нужное место.

    Второй:
    Унаследоваться от ScrollView и вставить твой метод (просто вставить тот метод который ты представил). Создать экземпляр унаследованного класса и использовать.

    Если все сделаешь правильно, то в окне лога, при опускании скрола до самого низа, будет вылетать сообщение "MyScrollView: Bottom has been reached".

    Откровенно метод который взял, не всегда будет работать.

    А вообще подучи основы java и НАСЛЕДОВАНИЕ, что бы таких вопросов (о super и переопределении методов не возникало.). Это основы.
    Ответ написан
  • JCheckBox в JTable Не нажимается?

    @zelan
    Кратко обо мне не получится.
    Ссылка на докуметацию

    В данный момент таблица работает только на отображение компонента (CellRenderer), тебе же надо редактировать (CellEditor). Открой документацию по ссылке выше, пропусти рендереры и долистай до эдиторов, там на примиере ComboBox и ColorChooser все поймешь.
    Ответ написан
    Комментировать
  • Почему с IDE программа запускается, а в консоли выдает ошибку?

    @zelan
    Кратко обо мне не получится.
    Ясно же написано, не определен класс org.json.JSONObject

    Попросту при запуске через консоль необходимо указать classpath (откуда подтягивать библиотеки), как прописывать этот параметр написано в интернете, это азы.

    Вы подключили библиотеку, но каким образом?
    - это ссылка на jar? тогда IDEA знает откуда взять ресурсы, а при запуске в консоли вы не предоставляете этой инфы.
    - jar добавлен в папку с исходниками? таже самая ситуация.
    - maven?
    Ответ написан
    Комментировать
  • Как сделать repaint canvas'а в цикле?

    @zelan
    Кратко обо мне не получится.
    Скорее всего цикл у вас запущен в потоке отрисовки и, тем самым, пока идут вычисления в цикле - поток отрисовки блочится. Если цикл завершится, то и отрисовка выполнится. Попробуйте выделить логику изменения параметров и принудительного вызова отрисовки в отдельном потоке.
    Ответ написан
  • Как расположить элементы в java?

    @zelan
    Кратко обо мне не получится.
    MigLayout - неплохой менеджер раскладки, на странице большая желтая кнопка с описанием как им пользоваться.

    GridLayout которым пользуетесь сейчас вы, создает сетку с ячейками одного размера. При помещении элемента в ячейку - он растягивается на весь размер ячейки.

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

    Например:
    public static void main(String[] args) {
            JFrame frame = new JFrame();
            frame.setLayout(new BorderLayout());
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //реальное закрытие программы, при закрытии окна(нажатии на красный крестик) 
            frame.setSize(400, 400);
    
    
            //панель для расположения элементов , в конструкторе передается менеджер раскладки, null - AbsoluteLayout ( для добавления компонентов необходимо указывать координаты и размер)
            JPanel panel = new JPanel(null);
    
            //установка панели во фрейм в центральную часть (панель будет растягиваться на весь фрейм)
            frame.add(panel, BorderLayout.CENTER);
            //текстовое поле
            JTextField field = new JTextField("Text");
    
            //установка координаты и размеров (x, y, ширина, высота) для компонента (рабо
            field.setBounds(20,20,200,20);
    
            //добавление поля на панель
            panel.add(field);
    
    
            frame.setVisible(true);
        }


    Ну а дальше по аналогии
    Ответ написан
    Комментировать
  • Как сделать горизонтальную прокрутку JList?

    @zelan
    Кратко обо мне не получится.
    вместо листа
    mainPanel.add(list, BorderLayout.WEST);

    нужно вставлять скролпэйн с листом
    mainPanel.add(pane, BorderLayout.WEST);

    В вашем случае при изменении размеров окна будет работать самый верхний скролпейн. pack рассчитает размеры таким образом чтобы все компоненты влезли в область видимости и не включили прокрутку.
    frame.add(new JScrollPane(mainPanel)); //от скролла лучше избавиться
    frame.pack(); //а паком нужно уметь пользоваться,  для многих компонентов нужно указывать предпочтительный размер иначе pack может натворить дел.Я не пользуюсь им вовсе.


    Лучше убрать этот скроллпейн, и задать предпочтительные размеры компонентов.

    Например если добавить инициализацию предпочтительных размеров скролпейна с листом.
    pane.setPreferredSize(new Dimension(50,10)); //50 ширина, 10 проигнорируется лэйоутом в данном случае.

    то все должно заработать как вам нужно.

    А вообще переходите на JavaFX, там все проще.
    Ответ написан
    1 комментарий
  • В чём проблема моей реализации игры Guess Number?

    @zelan
    Кратко обо мне не получится.
    что сразу бросается в глаза - массив array заполнен нулями.
    Добавьте явную инициализацию элементов массива.

    int[] array = new int[1000];
    for (int i = 0; i < array.length; i++) {
        array[i] = i;
    }
    Ответ написан
  • Как собрать java проект в netbeans, что бы он был exe файлом с "моей иконкой"?

    @zelan
    Кратко обо мне не получится.
    В любом IDE (NetBeans, IDEA, Eclipse) делаешь jar файл, желательно "Runnable Jar".
    Качаешь крутую программу Launch4j, указываешь путь к jar, путь к иконке, куда сохранить exe, и на одной из вкладок минимальную версию java. Нажимаешь собрать и вуаля.
    Ответ написан
    2 комментария
  • Как соединить массив с массивом (byte) в Java?

    @zelan
    Кратко обо мне не получится.
    С помощью стандартной библиотеки
    ByteArrayOutputStream outStream = new ByteArrayOutputStream();
    outStream.write(byte_1);
    outStream.write(byte_2);
    byte[] mass = outStream.toByteArray();


    И второй вариант,
    byte[] mass = new byte[byte_1.length() + byte_2.length()]
    System.arrayCopy(byte_1, 0, mass, 0, byte_1.length());
    System.arrayCopy(byte_2, 0, mass, byte_1.length(), byte_2.length());
    Ответ написан
    1 комментарий
  • Как сделать красивый интерфейс на swing?

    @zelan
    Кратко обо мне не получится.
    Сай крутой библиотеки
    Jar файл с примерами всех компонентов и их некотор...
    Крутейшая вещь. Качай джарник запускай и смотри. То что есть в демо - это не все на что способны компоненты.

    Помимо этого можно научиться писать отрисовку самому. Но в действительности для рутинных и стандартных задач лучше использовать библиотеку(ссылка выше) или забыть о Swing вообще и использовать JavaFX.
    Ответ написан
    Комментировать
  • Своя кнопка reset для каждого input, как это делают?

    @zelan
    Кратко обо мне не получится.
    Самое простое - обычный div наложенный смещением на input с обработкой события клика через JS.
    Ответ написан
    Комментировать
  • Как изменить код?

    @zelan
    Кратко обо мне не получится.
    Поидее достаточно заменить
    boolean p, q;
    на
    int p, q;

    и дальше в коде в местах инициализации переменных
    p = true; q = false;
    заменить true на 1, а false на 0

    p = 1; 
    q = 0;
    Ответ написан
    7 комментариев
  • Как изменить цвет текста в JTextArea?

    @zelan
    Кратко обо мне не получится.
    JTextArea field_textArea = new JTextArea();
    field_textArea.setForeground(Color.green);


    Всегда так было вроде. А как ты пытался сделать?
    Ответ написан
    4 комментария
  • Ничего не происходит, что делать?

    @zelan
    Кратко обо мне не получится.
    deviden[i] = deviden[i=1] / 2;

    тут i приравнивается к 1, так делать не надо, возможно это опечатка.
    Из-за этого приравнивания внешний for является бесконечным. Программа работает, но из цикла выйти не может. Посмотри в диспетчере задач - будет работать столько процессов Java сколько раз ты вызывал программу.
    Ответ написан
    Комментировать
  • Как сверстать такой макет?

    @zelan
    Кратко обо мне не получится.
    скос можно еще треугольниками (бордерами) делать.

    <body>
        
        <div class='square-top'></div>
        <div class='triangle-border'></div> 
        <div class='square-bottom'></div>
    </body>


    body{
        width:500px;
        margin: 0 auto;
        background-color: red;
    }
    
    .square-top{
        background-color:white;
        height:100px;  
    }
    
    .triangle-border{
         
        border-left: 250px solid blue;
        border-right: 250px solid green;
        border-top: 20px solid blue;
        border-bottom: 20px solid green;
    }
    
    .square-bottom{  
        background-color:black;
        height:100px  
    }
    Ответ написан
    Комментировать
  • Как убрать "несуществующую" часть блока?

    @zelan
    Кратко обо мне не получится.
    padding-left:0
    добавь в #navigation, в списках(ul) по умолчанию стоит ненулевой паддинг слева.
    Ответ написан
    1 комментарий