2014-09-20 45 views
0

Q1:我的JTextFeild和JMenuBar不显示,我不知道为什么 有一个程序的图片。 Q2:我已经看到了很多编写界面程序的方法,我不知道哪种方法更好。是这样或这样:(?在windowhttps://www.youtube.com/watch?v=706Ye4ubtEY为什么我的Jtextfield和jmenubar不起作用

import 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); 
    } 

} 

回答

3

几个原因

的菜单栏尚未分配到

window.setJMenuBar(bar); 

该文本框尚未添加

window.add(textfield, BorderLayout.PAGE_START); 

此组件框架时默认调用setVisible是可见不必要。

的帧需要毕竟成分被添加到帧,而不是预先

window.setVisible(true); 
可以变得可见
2

JTextField tfJMenuBar bar不会添加到他们的父母。