我是Java的初学者,我找到了一些对我来说太技术性的答案(即使最基本的教程似乎在我运行代码时也会出现语法错误)。如何在真正的简单术语中向JButton
添加JFrame
?我已经达到了:
import javax.swing.JButton;
import javax.swing.JFrame;
public class JF {
public static void main(String[] args) {
JFrame myFrame = new JFrame();
/*some pretty basic code to initialize the JFrame i.e.
myFrame.setSize(300, 200);
This is as far as I got
*/
}
}
我会非常感谢一些帮助!
答案 0 :(得分:2)
创建JFrame
的新实例的方法非常简单。
您所要做的就是:
JFrame myFrame = new JFrame("Frame Title");
但现在隐藏了Window
,要查看Window
您必须使用setVisible(boolean flag)
方法。像这样:
myFrame.setVisible(true);
有很多方法可以将Component
添加到JFrame
。
最简单的方法是:
myFrame.getContentPane().add(new JButton());//in this case we are adding a Button
这只会添加一个新Component
来填充JFrame()
。
如果您不希望Component
填满屏幕,那么您应该ContentPane
JFrame
新的自定义Container
myFrame.getContentPane() = new JPanel();
或将自定义Container
添加到ContentPane
并添加其他所有内容。
JPanel mainPanel = new JPanel();
myFrame.getContentPane().add(mainPanel);
如果您不想每次都写myFrame.getContentPane()
,那么您可以保留ContentPane
的实例。
JPanel pane = myFrame.getContentPane();
JFrame的最基本属性是:
您可以使用以下方式设置Size
:
myFrame.setSize(new Dimension(300, 200));//in pixels
添加所有组件后packing
JFrame
(更好的做法)。
myFrame.pack();
您可以使用以下方式设置Location
myFrame.setLocation(new Point(100, 100));// starting from top left corner
最后,您可以设置CloseOperation
(按下X
时会发生什么情况)
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
您可以选择以下4种不同的操作:
DO_NOTHING_ON_CLOSE //Nothing happens
HIDE_ON_CLOSE //setVisible(false)
DISPOSE_ON_CLOSE //Closes JFrame, Application still runs
EXIT_ON_CLOSE //Closes Application
您应该初始化GUI
中的所有Event Dispatch Thread
,您只需执行以下操作即可:
class GUI implements Runnable {
public static void main(String[] args) {
EventQueue.invokeLater(new GUI());
}
@Override
public void run() {
JFrame myFrame = new JFrame("Frame Title");
myFrame.setLocation(new Point(100, 100));
myFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
JPanel mainPanel = new JPanel();
mainPanel.setLayout(new BorderLayout());
myFrame.getContentPane().add(mainPanel);
mainPanel.add(new JButton("Button Text"), BorderLayout.CENTER);
myFrame.pack();
myFrame.setLocationByPlatform(true);
myFrame.setVisible(true);
}
}
答案 1 :(得分:-1)
//I hope this will help
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JPanel;
public class JF extends JFrame
{
private JButton myButton;//Here you begin by declaring the button
public JF()//Here you create you constructor. Constructors are used for initializing variable
{
myButton = new JButton();//We initialize our variable
myButton.setText("My Button"); //And give it a name
JPanel panel1 = new JPanel();//In java panels are useful for holding content
panel1.add(myButton);//Here you put your button in the panel
add(panel1);//This make the panel visible together with its contents
setSize(300,400);//Set the size of your window
setVisible(true);//Make your window visible
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args)
{
JFrame frame = new JF();
frame.setTitle("My First Button");
frame.setLocation(400,200);
}
}