你好我有一个大问题。我想制作“=”按钮 2*height 和“0”按钮 2*width(其他按钮应该只是正常大小),这就是我尝试了很多组合的全部,但我得到了奇怪的大小。
哦,我明白了
我得到什么 http://desmond.imageshack.us/Himg684/scaled.php?server=684&filename=33109545.jpg&res=landing
我想获得类似于我在网络中找到的东西(仅按钮布局)
public void someMethod()
Container cp = getContentPane();
cp.setLayout(new BorderLayout());
JPanel wyswietlacz = new JPanel();
JTextField txt = new JTextField("123");
txt.setPreferredSize(new Dimension(getWidth() - 10, 35));
txt.setAlignmentX(JTextField.RIGHT_ALIGNMENT);
wyswietlacz.add(txt);
JPanel opcje = new JPanel();
String[] etykiety = { "C", ".", "/", "*", "7", "8", "9", "-", "4", "5",
"6", "+", "1", "2", "3", "=", "0", "+/-" };
JButton[] przyciski = new JButton[18];
for (int i = 0; i < przyciski.length; i++)
przyciski[i] = new JButton(etykiety[i]);
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
c.fill = GridBagConstraints.BOTH;
opcje.setLayout(gridbag);
for (int i = 0; i < przyciski.length; i++) {
if (((i + 1) % 4) == 0) {
c.gridwidth = GridBagConstraints.REMAINDER;
} else {
c.gridwidth = GridBagConstraints.RELATIVE;
}
if (i == 15) {
c.gridheight = 2;
c.fill = GridBagConstraints.HORIZONTAL;
}
if (i == 16)
c.gridy = GridBagConstraints.SOUTH;
if (i == 16) {
c.gridwidth = 2;
c.fill = GridBagConstraints.HORIZONTAL;
}
makebutton(przyciski[i], gridbag, c, opcje);
}
add(wyswietlacz, BorderLayout.NORTH);
add(opcje, BorderLayout.CENTER);
}
protected void makebutton(JButton button, GridBagLayout gridbag,
GridBagConstraints c, JPanel jp) {
gridbag.setConstraints(button, c);
jp.add(button);
}
public static void main(String[] args) {
new Kalkulator();
}