我想在JTextField和JButtons之间添加一些空间,我正在使用流布局,并且将不胜感激
文本字段和按钮将关闭,任何输入都会有所帮助,我是新手
我正在制作一个计算器
CODE
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.ComponentOrientation;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;
public class Ken {
static JTextField text = new JTextField("0",9);
public static void frame(){
JFrame frame = new JFrame("MyCalc");
frame.setSize(480, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
frame.setResizable(false);
FlowLayout fl = new FlowLayout(0, 30, 20);
setLayout(fl);
frame.getContentPane().setLayout(fl);
Container con = frame.getContentPane();
con.setBackground(Color.LIGHT_GRAY);
Font f = new Font("MS UI Gothic", Font.BOLD, 40);
Font f2 = new Font("Engravers MT", Font.PLAIN, 40);
int bHeight = 80;
int bWidth = 70;
text.setBackground(Color.GREEN);
text.setFont(f2);
text.setPreferredSize(new Dimension(bHeight, bWidth));
frame.add(text, BorderLayout.NORTH);
JButton oneButton = new JButton("1");
oneButton.setPreferredSize(new Dimension(bHeight, bWidth));
oneButton.setBackground(Color.DARK_GRAY);
oneButton.setForeground(Color.GREEN);
oneButton.setFont(f);
frame.add(oneButton);
JButton twoButton = new JButton("2");
twoButton.setPreferredSize(new Dimension(bHeight, bWidth));
twoButton.setBackground(Color.DARK_GRAY);
twoButton.setForeground(Color.GREEN);
twoButton.setFont(f);
frame.add(twoButton);
JButton threeButton = new JButton("3");
threeButton.setPreferredSize(new Dimension(bHeight, bWidth));
threeButton.setBackground(Color.DARK_GRAY);
threeButton.setForeground(Color.GREEN);
threeButton.setFont(f);
frame.add(threeButton);
JButton plusButton = new JButton("+");
plusButton.setPreferredSize(new Dimension(bHeight, bWidth));
plusButton.setBackground(Color.DARK_GRAY);
plusButton.setForeground(Color.GREEN);
plusButton.setFont(f);
frame.add(plusButton);
JButton fourButton = new JButton("4");
fourButton.setPreferredSize(new Dimension(bHeight, bWidth));
fourButton.setBackground(Color.DARK_GRAY);
fourButton.setForeground(Color.GREEN);
fourButton.setFont(f);
frame.add(fourButton);
JButton fiveButton = new JButton("5");
fiveButton.setPreferredSize(new Dimension(bHeight, bWidth));
fiveButton.setBackground(Color.DARK_GRAY);
fiveButton.setForeground(Color.GREEN);
fiveButton.setFont(f);
frame.add(fiveButton);
JButton sixButton = new JButton("6");
sixButton.setPreferredSize(new Dimension(bHeight, bWidth));
sixButton.setBackground(Color.DARK_GRAY);
sixButton.setForeground(Color.GREEN);
sixButton.setFont(f);
frame.add(sixButton);
JButton minusButton = new JButton("-");
minusButton.setPreferredSize(new Dimension(bHeight, bWidth));
minusButton.setBackground(Color.DARK_GRAY);
minusButton.setForeground(Color.GREEN);
minusButton.setFont(f);
frame.add(minusButton);
JButton sevenButton = new JButton("7");
sevenButton.setPreferredSize(new Dimension(bHeight, bWidth));
sevenButton.setBackground(Color.DARK_GRAY);
sevenButton.setForeground(Color.GREEN);
sevenButton.setFont(f);
frame.add(sevenButton);
JButton eightButton = new JButton("8");
eightButton.setPreferredSize(new Dimension(bHeight, bWidth));
eightButton.setBackground(Color.DARK_GRAY);
eightButton.setForeground(Color.GREEN);
eightButton.setFont(f);
frame.add(eightButton);
JButton nineButton = new JButton("9");
nineButton.setPreferredSize(new Dimension(bHeight,bWidth));
nineButton.setBackground(Color.DARK_GRAY);
nineButton.setForeground(Color.GREEN);
nineButton.setFont(f);
frame.add(nineButton);
JButton timesButton = new JButton("*");
timesButton.setPreferredSize(new Dimension(bHeight, bWidth));
timesButton.setBackground(Color.DARK_GRAY);
timesButton.setForeground(Color.GREEN);
timesButton.setFont(f);
frame.add(timesButton);
JButton zeroButton = new JButton("0");
zeroButton.setPreferredSize(new Dimension(bHeight, bWidth));
zeroButton.setBackground(Color.DARK_GRAY);
zeroButton.setForeground(Color.GREEN);
zeroButton.setFont(f);
frame.add(zeroButton);
JButton enterButton = new JButton("=");
enterButton.setPreferredSize(new Dimension(190, bWidth));
enterButton.setBackground(Color.DARK_GRAY);
enterButton.setForeground(Color.GREEN);
enterButton.setFont(f);
frame.add(enterButton);
JButton dividButton = new JButton("/");
dividButton.setPreferredSize(new Dimension(bHeight, bWidth));
dividButton.setBackground(Color.DARK_GRAY);
dividButton.setForeground(Color.GREEN);
dividButton.setFont(f);
frame.add(dividButton);
frame.setComponentOrientation(
ComponentOrientation.LEFT_TO_RIGHT);
}
private static Dimension Dimension(int bHeight, int bWidth) {
// TODO Auto-generated method stub
return null;
}
private static void setLayout(FlowLayout fl) {
// TODO Auto-generated method stub
}
public static void main(String[] args){
frame();
}
}
答案 0 :(得分:2)
FlowLayout fl = new FlowLayout(0,30,20);
与此问题无关,但请勿使用魔术数字。我不知道0意味着什么。阅读FlowLaout API并使用API提供的正确变量名。
默认情况下,框架的内容窗格使用BorderLayout。查看我们的BorderLayout
API。您可以指定组件之间的间隙大小。因此,您可以创建具有所需间隙的新BorderLayout,然后将内容窗格的布局设置为此BorderLayout。
或者,您可以在顶部面板中添加EmptyBorder
。阅读How to Use Borders上的Swing教程,了解更多信息和示例。