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

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

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

Студворк — интернет-сервис помощи студентам
Как изменить рисунок 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); close.setBorderPainted(false); ...

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

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

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
 Аватар для Drygba
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
21.02.2013, 19:22
Цитата Сообщение от pood123 Посмотреть сообщение
Можно так
и получаем тоже самое что и ТС, иконка не заполняет кнопку. Что бы заполнить весь фон картинкой - надо сделать свою кнопку
0
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 34
21.02.2013, 19:34
у меня заполняет, всю кнопку, возможно вы создаете кнопку размера не (150, 30)

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

кнопка сверху использует мелкий рисунок
0
 Аватар для Drygba
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
21.02.2013, 19:49
растяните окно, или установите надпись на кнопке
0
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 34
21.02.2013, 20:01
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
 Аватар для Drygba
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
21.02.2013, 22:28
Цитата Сообщение от 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
не буду ничего писать, скажу лишь что использование диспетчеров компоновки для меня сейчас не первоочередная задача, есть темы существеннее и лучше я потрачу время на них.
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
22.02.2013, 04:33
Цитата Сообщение от pood123 Посмотреть сообщение
не буду ничего писать, скажу лишь что использование диспетчеров компоновки для меня сейчас не первоочередная задача, есть темы существеннее и лучше я потрачу время на них.

Не по теме:

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

0
204 / 4 / 1
Регистрация: 14.05.2012
Сообщений: 78
27.02.2013, 14:26  [ТС]
Drygba
Я создам свою кнопку, которая будет расширением класса JButton. Далее мне нужно каким-то методом сделать фон прозрачным. Вопрос каким именно? Вот тут я прихожу в тупик. Пробовал метод setOpaque, но он не действует. Может я его не так использую?
0
 Аватар для Drygba
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
27.02.2013, 14:54
Цитата Сообщение от 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  [ТС]
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
 Аватар для Drygba
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
27.02.2013, 18:52
посмотрите на конструктор вашей кнопки и вспомните что конструктор не чего не возвращает (удалите void)
1
1 / 1 / 0
Регистрация: 17.03.2012
Сообщений: 17
27.02.2013, 20:29
Добрый вечер. Не хотел создавать новую тему, так как мне кажется вопрос пустяковый.
Есть кнопка, я меняю цвет её фона. Как мне можно вернуться к дефолтному цвету кнопки?
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
28.02.2013, 13:40
1. Перед сменой сохранить цвет по умолчанию
2. Создать новую кнопку, взять ее цвет, кнопку выкинуть
3. Полезть в UIManager и взять из него цвет кнопки:
Java
1
java.awt.Color buttonDefaultBgColor = javax.swing.UIManager.getDefaults().getColor("Button.background");
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.02.2013, 13:40
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru