как раскрасить компоненты UI в Jbuilder?

Модератор: Absurd

Ответить
sommer
Сообщения: 1
Зарегистрирован: 12 фев 2007, 14:28

Добрый день.
бльше всего интересует как изменить внешний вид com.borland.dbswing.JDBNavToolBar и сделать кнопки(button) округлыми и наложить градиент(что-то вроде XP style). можно ли использовать какие-то скины?
приветствуются примеры, руководства )
в какую сторону рыть и где можно посмотреть тоже интересно
Аватара пользователя
Oscar
Сообщения: 963
Зарегистрирован: 29 май 2004, 13:44
Откуда: Мюнхен (рожден в Киеве)
Контактная информация:

сорри, что поздно, но может и пригодится кому
а может кто и мне подскажет, как это правильнее делать

код - не для JBuilder и уж тем более не для JDBNavToolBar,
но если билдер использует стандартную JDK, то должен, по идее, работать

[syntax="java"]import java.awt.*;
import javax.swing.*;

public class RoundGradientButtonDemo extends JFrame {

private static final long serialVersionUID = 1L;

static class RoundGradientButton extends JButton {

private static final long serialVersionUID = 1L;

public RoundGradientButton() {
super();
setBorder(BorderFactory.createEmptyBorder());
Dimension d = new Dimension(64, 64);
setSize(d);
setMinimumSize(d);
setPreferredSize(d);
setMaximumSize(d);
}

protected void paintComponent(Graphics g) {

Color color1 = Color.decode("#75A3D9");
Color color2 = Color.decode("#4082C8");

if (getModel().isPressed()) {
Color temp = color1;
color1 = color2;
color2 = temp;
}

Paint gradient = new GradientPaint(getWidth()/2, 0, color1,
getWidth()/2, getHeight()/2, color2,
true);
((Graphics2D) g).setPaint(gradient);
g.fillArc(1, 1, getWidth() - 2, getHeight() - 2, 0, 180);

gradient = new GradientPaint(getWidth()/2, getHeight()/2, color2,
getWidth()/2, getHeight(), color1,
true);
((Graphics2D) g).setPaint(gradient);
g.fillArc(1, 1, getWidth() - 2, getHeight() - 2, 180, 180);
}
}

public RoundGradientButtonDemo() {
super("Round gradient button");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JToolBar toolbar = new JToolBar();
toolbar.add(new RoundGradientButton());
toolbar.add(new RoundGradientButton());
toolbar.setFloatable(false);
getContentPane().add(toolbar, BorderLayout.NORTH);
pack();
}

public static void main(String[] args) {
final RoundGradientButtonDemo demo = new RoundGradientButtonDemo();
SwingUtilities.invokeLater( new Runnable() {
public void run() {
demo.setVisible(true);
}
});
}
}[/syntax]
Ответить