我是Java新手,目前正在开发一个带有菜单,滚动窗格和文本区域的简单应用程序。
到目前为止,我已经获得了表单上想要的所有内容,但是当我启动应用程序时,直到我重新调整窗口大小时,滚动面板/文本区域才会显示。
我已经尝试过使用其他论坛上建议的重绘方法来解决类似问题,但是它没有用,也许我没有正确使用它:S
这是我的课:
public class FenetreEditeur {
public static void main(String[] args){
FenetreEditeur f = new FenetreEditeur();
}
public FenetreEditeur(){
JFrame frame = new JFrame();
frame.setVisible(true);
frame.setSize(400,400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
initMenuBar(frame);
JTextArea areaMain = new JTextArea();
JScrollPane scrollPane = new JScrollPane(areaMain);
frame.add(scrollPane);
}
private void initMenuBar(JFrame frame){
JMenuBar menu = new JMenuBar();
JMenu revision = new JMenu("Revision");
JMenuItem statistiques = new JMenu("Statistiques");
JMenuItem grammaire = new JMenu("Grammaire et orthographe");
JMenuItem analyse = new JMenu("Analyse Automatique");
menu.add(revision);
revision.add(statistiques);
revision.add(grammaire);
revision.add(analyse);
frame.setJMenuBar(menu);
}}
任何帮助/提示将不胜感激。
谢谢!
最佳答案
添加scrollPanel.revalidate()
后调用它,或者最好将frame.setVisible(true)
移到末尾:
public FenetreEditeur(){
JFrame frame = new JFrame();
frame.setSize(400,400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
initMenuBar(frame);
JTextArea areaMain = new JTextArea();
JScrollPane scrollPane = new JScrollPane(areaMain);
frame.add(scrollPane);
frame.setVisible(true);
}