import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
public class Observable {
JTextField txtBase,txtHeight,txtHypo;
void Window()
{
JFrame jf = new JFrame("Right Triangle");
jf.setSize(1000,600);
jf.setLocationRelativeTo(null);
jf.setResizable(false);
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
jf.getContentPane();
// base
txtBase = new JTextField(6);
JLabel labelBase = new JLabel("Base");
Dimension size = labelBase.getPreferredSize();
labelBase.setBounds(150,100,size.width,size.height);
txtBase.setBounds(190,100,size.width,size.height);
//height
txtHeight = new JTextField(6);
JLabel labelHeight = new JLabel("Height");
Dimension size1 = labelHeight.getPreferredSize();
labelHeight.setBounds(400,100,size1.width,size1.height);
txtHeight.setBounds(440,100,size1.width,size1.height);
//hypotenuse
txtHypo = new JTextField(6);
JLabel labelHypo = new JLabel("Hypotenuse");
Dimension size2 = labelHypo.getPreferredSize();
labelHypo.setBounds(650,100,size2.width,size2.height);
txtHypo.setBounds(740,100,size2.width,size2.height);
panel.setLayout(null);
panel.add(labelHeight);
panel.add(labelBase);
panel.add(labelHypo);
panel.add(txtBase);
panel.add(txtHeight);
panel.add(txtHypo);
jf.add(panel);
//show window
jf.setVisible(true);
}
}
大兄弟:你这自己设置宽高呀!你的标签字符长度就是你的文本框长度。
txtBase = new JTextField(6);
JLabel labelBase = new JLabel("Base");
Dimension size = labelBase.getPreferredSize();
//设置文本框的坐标和宽高,你用的是labelBase的宽高,宽就字符的长度
txtBase.setBounds(190,100,size.width,size.height);
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
public class Observable {
JTextField txtBase,txtHeight,txtHypo;
void Window()
{
JFrame jf = new JFrame("Right Triangle");
jf.setSize(1000,600);
jf.setLocationRelativeTo(null);
jf.setResizable(false);
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
jf.getContentPane();
// base
txtBase = new JTextField(6);
JLabel labelBase = new JLabel("Base");
Dimension size = txtBase.getPreferredSize();
labelBase.setBounds(150,100,size.width,size.height);
txtBase.setBounds(190,100,size.width,size.height);
//height
txtHeight = new JTextField(6);
JLabel labelHeight = new JLabel("Height");
Dimension size1 = txtBase.getPreferredSize();
labelHeight.setBounds(400,100,size1.width,size1.height);
txtHeight.setBounds(440,100,size1.width,size1.height);
//hypotenuse
txtHypo = new JTextField(6);
JLabel labelHypo = new JLabel("Hypotenuse");
Dimension size2 = txtBase.getPreferredSize();
labelHypo.setBounds(650,100,size2.width,size2.height);
txtHypo.setBounds(740,100,size2.width,size2.height);
panel.setLayout(null);
panel.add(labelHeight);
panel.add(labelBase);
panel.add(labelHypo);
panel.add(txtBase);
panel.add(txtHeight);
panel.add(txtHypo);
jf.add(panel);
//show window
jf.setVisible(true);
}
public static void main(String[] args) {
new Observable().Window();
}
}
把代码改成这样就可以 了: