8

enter image description here

I am pretty new to java swing and not familiar with paint(). I want to create a button in java swing with above look. Can anyone help me to do this. Any guidance would be grateful. Thanks in advance

4

5 に答える 5

15

Facebook の青の RGB: 59, 89, 182/Hex Code は #3B5998で、フォント ファミリーはTahomaです。

setFocusPainted(false)これを使用して、 、 、setBackground(new Color(59, 89, 182))およびのようないくつかの呼び出しで得たものを次に示しますsetFont(new Font("Tahoma", Font.BOLD, 12))

ここに画像の説明を入力

import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Font;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;

public class Test {

    public Test() {
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLayout(new FlowLayout());
        JButton b = new JButton("Log In");//http://www.chacha.com/question/what-are-the-rgb-values-for-the-background-color-of-comments-on-facebook
        b.setBackground(new Color(59, 89, 182));
        b.setForeground(Color.WHITE);
        b.setFocusPainted(false);
        b.setFont(new Font("Tahoma", Font.BOLD, 12));//http://answers.yahoo.com/question/index?qid=20070906133202AAOvnIP
        frame.add(b);
        frame.pack();
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new Test();
            }
        });
    }
}

あなたが同一のものを探していない限り(これは実際の画像を使用せずに取得するのと同じくらい最高です)...ボタンの画像を設定するのが最善の方法です

于 2013-01-04T16:36:23.590 に答える
7

ボタンの外観を完全にオーバーライドしたい場合、最も一般的な解決策は、独自の を作成することButtonUIです。

class MyButton extends BasicButtonUI {
    @Override
    public void paint(Graphics g, JComponent c) {
        AbstractButton b = (AbstractButton) c;
        ButtonModel model = b.getModel();
        ...
    }
}

その後、ボタンの状態 (ロールオーバー、フォーカス、アーム、押されたなど) を考慮して、好きなようにペイントできます。これを行う方法の基本的なアイデアについては、スーパークラスの実装をご覧ください。

次に、変更するボタンの UI を設定します。

button.setUI(new MyButton());
于 2013-01-04T16:10:39.583 に答える
2

Oracle javadocでは、jbuttonjavadocが表示されます。

実装されたJbuttonjavaメソッドsetIcon(Icon)でうまくいきImageIconます!

于 2013-01-04T15:10:18.843 に答える
2

あなたの例のようなカスタマイズされたボタンを作成するには、グラフィック ドキュメント (画像など) を準備し、それをボタンのプロパティとして設定するのが最善の方法だと思います。

JButton button = new JButton();
button.setIcon(new ImageIcon("yourButtonImage.jpg"));
于 2013-01-04T15:03:53.537 に答える
1

あなたの例に示されているカスタマイズされたボタンを作成するには、次のコードを使用すると思います:-

JButton button = new JButton("Log In");
button.setFont(new Font("Serif",Font.BOLD,20));
button.setBackground(new Color(0,51,204));//import java.awt.Color;
button.setForeground(Color.WHITE);
button.setFocusPainted(false);
button.setBorderPainted(false);
于 2014-03-24T14:36:37.250 に答える