私はレイアウトをしています。私は一緒に一杯になりたいボタンのペアを持っています。私はこれを達成するためにいくつかの方法を考えることができますが、良い方法があるかどうかは疑問です。JButtonをスイングさせるにはどうしたらいいですか?
package helloworld;
import javax.swing.BoxLayout;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.EventQueue;
/**
* Created by matt on 22/07/16.
*/
public class FlushButtons {
private void showGui(){
JFrame frame = new JFrame();
JPanel panel = new JPanel();
JButton plus = new JButton("+");
JButton minus = new JButton("-");
panel.setLayout(new BoxLayout(panel, BoxLayout.LINE_AXIS));
panel.add(plus);
panel.add(minus);
frame.setContentPane(panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args){
EventQueue.invokeLater(()->{
new FlushButtons().showGui();
});
}
}
左の画像を生成するが、私はそれがより右の画像のようになりたいと思います:ここで
JButton#setMargin
を使ってみましたが、何の効果もありませんでした。私は希望の結果を得ることができるJButton#setPreferredSize
を使用しましたが、私はあらかじめボタンのサイズを知る必要があります。
代わりに、ボックスのレイアウトのフローレイアウトを試みることができます。正に言えば、組み込みのレイアウトマネージャのほとんどは、使いやすく組み合わせが難しいので、サードパーティ製のレイアウトマネージャの1つを見てみたいと思うかもしれません。 [MigLayout](http://www.miglayout.com/)。 – Thomas
@トーマス私はそれがレイアウトマネージャーだとは思わない、それはもっとボタンそのものだ。好みのサイズを設定すると、大丈夫です。私はちょうど手前の寸法を知る必要があります。 – matt
私は自分のPCで試していましたが、あなたのコードはWindows上で(それは醜いので)私にそれを与えてくれました:https://puu.sh/qalTs/b42c6158f6.png いいえ、このようにいいですね? – Kapcash