Q1:我的JTextFeild和JMenuBar没有出现,我不知道为什么 有一个程序的图片。
Q2:我已经看到很多编写接口程序的方法,我不知道哪种方式更好。是这样还是这样:https://www.youtube.com/watch?v=706Ye4ubtEYimport javax.swing.*;
import java.awt.*;
import javax.swing.JTextField;
import javax.swing.JMenuBar;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Real_Interface extends JFrame implements ActionListener {
public Real_Interface(){
JFrame window = new JFrame();
window.add(new JLabel("Rocket Data Visualization Tool"));
window.setTitle("Rocket Data Visualization Tool");
window.setSize(640, 480);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setLocationRelativeTo(null);
window.setVisible(true);
window.setResizable(false);
JTextField tf = new JTextField();
tf.setText("New Text");
String str = tf.getText();
tf.setVisible(true);
JMenuBar bar = new JMenuBar();
JMenu file = new JMenu("File");
JMenuItem menuItem = new JMenuItem("haha");
JMenuItem menuItem2 = new JMenuItem("haha2");
file.add(menuItem);
file.addSeparator();
file.add(menuItem2);
bar.add(file);
JButton button = new JButton("OK");
window.add(button);
button.setBounds(250, 400, 150, 40);
button.addActionListener(this);
}
public static void main(String[] args){
new Real_Interface();
}
public void actionPerformed(ActionEvent e) {
System.out.println("The Button Works!");
Plot.main(null);
}
}
答案 0 :(得分:3)
有几个原因
尚未将菜单栏分配到框架
window.setJMenuBar(bar);
尚未添加文字字段
window.add(textfield, BorderLayout.PAGE_START);
默认情况下此组件可见,因此无需调用setVisible
。
在将所有组件添加到框架而不是预先添加到框架之后,需要使框架可见
window.setVisible(true);
答案 1 :(得分:2)
您的JTextField tf
和JMenuBar bar
未添加到其父级(window
?)。