С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/68: Рейтинг темы: голосов - 68, средняя оценка - 4.88
204 / 4 / 1
Регистрация: 14.05.2012
Сообщений: 78
1

Как изменить рисунок JButton

21.02.2013, 16:05. Показов 14274. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как изменить рисунок JButton? Я использую код
Java
1
JButton B2=new JButton(new ImageIcon("buttonIcon.png"));
Но картинка не полность заполняет фон кнопки, а только процентов на 90. А как сделать что бы фон кнопки был полность заменен картинкой?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.02.2013, 16:05
Ответы с готовыми решениями:

Как изменить форму кнопки JButton
Как изменить форму кнопки JButton? Ну, например, что бы кнопка была крулая, овальная и т.д.

Как изменить цвет рамки JButton?
Вот настройки кнопки: close.setBounds(getWidth() - 25, 0, 25, 25); ...

Как изменить размер шрифта у элемента JButton?
Чтобы надпись на кнопке была нужного мне размера

Изменить текст группе JButton исходя из выбора в JComboBox
И уж чего только не подключал и UpdateUI(), revalidate() и к панелям и к фрейму прикручивал..ну...

17
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
21.02.2013, 17:13 2
создайте свою кнопку и нарисуйте на фоне что хотите
0
204 / 4 / 1
Регистрация: 14.05.2012
Сообщений: 78
21.02.2013, 17:39  [ТС] 3
Как готовую картинку сделать фоном на своей кнопке? Через какой медот?
0
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
21.02.2013, 17:54 4
0
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 34
21.02.2013, 18:55 5
Можно так

Java
1
2
3
4
5
6
7
8
 icon = new ImageIcon("button2.jpg");
        Image img = icon.getImage() ;
        Image newimg = img.getScaledInstance( 150, 30,  java.awt.Image.SCALE_SMOOTH ) ;
        icon = new ImageIcon(newimg);
 
        button4 = new JButton(icon);
        button4.setSize(150, 30);
        button4.setLocation(210, 220);
0
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
21.02.2013, 19:22 6
Цитата Сообщение от pood123 Посмотреть сообщение
Можно так
и получаем тоже самое что и ТС, иконка не заполняет кнопку. Что бы заполнить весь фон картинкой - надо сделать свою кнопку
0
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 34
21.02.2013, 19:34 7
у меня заполняет, всю кнопку, возможно вы создаете кнопку размера не (150, 30)

Добавлено через 6 минут
http://img28.imagevenue.com/lo... _462lo.jpg

кнопка сверху использует мелкий рисунок
0
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
21.02.2013, 19:49 8
растяните окно, или установите надпись на кнопке
0
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 34
21.02.2013, 20:01 9
Java
1
2
3
4
5
6
7
8
9
icon = new ImageIcon("button2.jpg");
        Image img = icon.getImage() ;
        Image newimg = img.getScaledInstance( 150, 30,  java.awt.Image.SCALE_SMOOTH ) ;
        icon = new ImageIcon(newimg);
 
        button4 = new JButton("Йохохо", icon);
        button4.setHorizontalTextPosition(SwingConstants.CENTER);
        button4.setSize(150, 30);
        button4.setLocation(210, 220);
установил надпись
0
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
21.02.2013, 22:28 10
Цитата Сообщение от pood123 Посмотреть сообщение
Java
1
2
button4.setSize(150, 30); 
button4.setLocation(210, 220);
Вы не используете менеджер раскладки компонентов, устанавливаете фиксированный размер и позицию - это не гуд.
0
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 34
21.02.2013, 23:05 11
не буду ничего писать, скажу лишь что использование диспетчеров компоновки для меня сейчас не первоочередная задача, есть темы существеннее и лучше я потрачу время на них.
0
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
22.02.2013, 04:33 12
Цитата Сообщение от pood123 Посмотреть сообщение
не буду ничего писать, скажу лишь что использование диспетчеров компоновки для меня сейчас не первоочередная задача, есть темы существеннее и лучше я потрачу время на них.

Не по теме:

Вам просто намекают что ваше решение неполное ;)
и ваш код неправильный - хоть и работает :D

0
204 / 4 / 1
Регистрация: 14.05.2012
Сообщений: 78
27.02.2013, 14:26  [ТС] 13
Drygba
Я создам свою кнопку, которая будет расширением класса JButton. Далее мне нужно каким-то методом сделать фон прозрачным. Вопрос каким именно? Вот тут я прихожу в тупик. Пробовал метод setOpaque, но он не действует. Может я его не так использую?
0
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
27.02.2013, 14:54 14
Цитата Сообщение от Marich Посмотреть сообщение
Пробовал метод setOpaque, но он не действует
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import javax.swing.*;
import java.awt.*;
 
/**
 * @autor: Drygba
 * Date: 27.02.13
 */
public class TestButton {
    public static void main(String[] arg){
        JFrame f = new JFrame();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
        JPanel content = new JPanel();
        content.setLayout(new BorderLayout());
        content.setBackground(Color.CYAN);
 
        MyButton mb = new MyButton();
        mb.setBackground(Color.LIGHT_GRAY);//устанавливаем фон
        mb.setText("MyButton");
 
        content.add(mb);
        content.add(new JLabel("Test"), BorderLayout.SOUTH);
 
        f.add(content);
        f.setSize(150,150);
        f.setVisible(true);
    }
}
 
class MyButton extends JButton{
    MyButton(){
        setOpaque(false);//false - прозрачная
    }
}
Цитата Сообщение от Marich Посмотреть сообщение
Может я его не так использую?
Прочтите статью, ссылку на которую я давал на прошлой странице
1
204 / 4 / 1
Регистрация: 14.05.2012
Сообщений: 78
27.02.2013, 18:28  [ТС] 15
Drygba,
Я использую вот такой код, но у меня этот "фокус" не работае. В чем может быть причина?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package gon2;
import java.awt.*;
import javax.swing.*;
 
 
public class Gon2 {
    public static void main(String[] args) {
       MyFrame frame=new MyFrame(200,300);
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       frame.show();
    }
}
class MyFrame extends JFrame
{
    public MyFrame(int x, int y)
            {
                setBounds(x,y,300,150);
                MyPanel panel=new MyPanel();
                Container pane=getContentPane();
                pane.add(panel,BorderLayout.SOUTH);
                MyPanel P1=new MyPanel();
                pane.add(P1,BorderLayout.EAST);
            }
}
class MyPanel extends JPanel
{
    public MyPanel()
    {
        setLayout(new GridLayout(3,2));
        MyButton B1=new MyButton();
        B1.setText("MyButton");
        B1.setBackground(Color.GRAY);
        add(B1);
        JLabel L1=new JLabel(new ImageIcon("TitleIcon.png"));
        add(L1);
    }
 
class MyButton extends JButton
{
    public void MyButton()
    {
        setOpaque(false);
    }
}
}
0
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
27.02.2013, 18:52 16
посмотрите на конструктор вашей кнопки и вспомните что конструктор не чего не возвращает (удалите void)
1
1 / 1 / 0
Регистрация: 17.03.2012
Сообщений: 17
27.02.2013, 20:29 17
Добрый вечер. Не хотел создавать новую тему, так как мне кажется вопрос пустяковый.
Есть кнопка, я меняю цвет её фона. Как мне можно вернуться к дефолтному цвету кнопки?
0
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
28.02.2013, 13:40 18
1. Перед сменой сохранить цвет по умолчанию
2. Создать новую кнопку, взять ее цвет, кнопку выкинуть
3. Полезть в UIManager и взять из него цвет кнопки:
Java
1
java.awt.Color buttonDefaultBgColor = javax.swing.UIManager.getDefaults().getColor("Button.background");
2
28.02.2013, 13:40
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.02.2013, 13:40
Помогаю со студенческими работами здесь

Можно ли изменить форму JButton при наведении курсора?
Java Swing. Например была прямоугольная кнопка, нужно сделать круглую. Можно ли перерисовать...

Как управлять лэйблом на JButton?
Создал JButton. Хочу, например, убрать border вокруг лэйбла (точнее просто надписи) на JButton. ...

Как задать размер JButton ?
Razmer JButtom opredelyaetsya avtomaticheski v zavisimosti ot slova ee nazvaniya. A esli, naprimer,...

Подскажите как изменить фоновый рисунок на форме
Господа, подскажите пожалуйста как изменить фоновый рисунок на форме. Я пишу такой вот код, но он...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­­­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее: На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru