我是Java Applet编程和Java的新手,但我在C#和C++中非常出色。无论如何,我正在用JTextField,JButton和JLabel制作一个简单的计算器。但JButton和JTextField占据了整个屏幕,最奇怪的是我设置了大小,并没有设置大小。那么我做错了什么?这里是下面的代码,所以有人可以帮助我;我会感谢任何答案。添加JButton控件到JApplet并且JButton填充整个屏幕
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
import javax.swing.JApplet;
import java.awt.*;
import javax.swing.JButton;
import javax.swing.JTextField;
/**
*
* @author Danny
*/
public class Applet extends JApplet {
private JButton button1;
private JTextField textBox1;
@Override
public void paint(Graphics g)
{
g.setFont(new Font("Courier", Font.PLAIN, 12));
g.drawString("Enter a number: ", 36, 36);
return;
}
/**
* Initialization method that will be called after the applet is loaded
* into the browser.
*/
@Override
public void init() {
button1 = new JButton("Calculate");
textBox1 = new JTextField("number");
textBox1.setFont(new Font("Courier", Font.PLAIN, 12));
textBox1.setSize(100, 36);
button1.setSize(100, 36);
textBox1.setLocation(new Point(36, 76));
button1.setLocation(new Point(36, 70));
Container c = getContentPane();
c.add(button1);
c.add(textBox1);
c.setBackground(Color.gray);
}
// TODO overwrite start(), stop() and destroy() methods
}
很抱歉,但我跟你的 “经验法则” 不同意。通常将组件放在自己的JPanel中并不是一个好主意。更好的方法是了解布局管理器并使用这些知识正确使用它们。 –
即使使用正确的布局过程如果您尝试将“原始”组件添加到容器,Swing会出现奇怪的情况。我不是说每个组件都粘贴到单独的JPanel中。 –
你能举个例子吗? –